网站建设资讯

NEWS

网站建设资讯

ios开发数据持久化,ios开发数据持久化什么意思

iOS中常用的几种持久化存储

1、偏好设置(NSUserDefaults)

创新互联公司是一家专注于成都网站设计、网站建设与策划设计,隰县网站建设哪家好?创新互联公司做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:隰县等地区。隰县做网站价格咨询:18980820575

2、plist文件存储

3、归档

4、SQLite

5、Core Data

我们首先需要了解下沙盒(Sandbox)

Application :存放程序源文件,上架前经过数字签名,上架后不可修改

Documents : 保存应⽤运行时生成的需要持久化的数据,iTunes同步设备时会备份该目录。例如,游戏应用可将游戏存档保存在该目录

tmp : 保存应⽤运行时所需的临时数据,使⽤完毕后再将相应的文件从该目录删除。应用 没有运行时,系统也可能会清除该目录下的文件。iTunes同步设备时不会备份该目录。

Library/Caches : 保存应用运行时⽣成的需要持久化的数据,iTunes同步设备时不会备份 该目录。⼀一般存储体积大、不需要备份的非重要数据,比如网络数据缓存存储到Caches下

Library/Preference : 保存应用的所有偏好设置,如iOS的Settings(设置) 应⽤会在该目录中查找应⽤的设置信息。iTunes同步设备时会备份该目录

NSUserDefaults是个单例类,用于存储少量数据。NSUserDefaults实际上对plist文件操作的封装,更方便我们直接操作,一般用于存储系统级别的偏好设置。比如我们经常将登录后的用户的一些设置通过NSUserDefaults存储到plist文件中。

NSUserDefaults使用起来非常简单,例如将用户的账号和密码存储起来:

ios开发中数据持久化有哪几种,分别什么时间使用

1、plist文件(属性列表),通常用于储存用户设置,也可以用于存储捆绑的信息;

2、preference(偏好设置),常用于保存少量数据;

3、NSKeyedArchiver(归档),将内存中的对象实例保存成binary到磁盘并且可以逆向这个过程用来保存用户操作状态等;

4、SQLite 3,使用数据库进行存储;

5、CoreData,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成OC对象。

ios数据的持久化存储方式有哪些

对于数据的持久化存储,ios中一般提供了4种不同的机制。

1.属性列表

2.对象归档

3.数据库存储(SQLite3)

4.苹果公司提供的持久性工具Core

Data。

其实储存的形式无非就这么几种,而我们还必须要关心的是,这些文件会被放置在那个文件下,然后如何读取。

也就是说:IOS上数据存储,我们要了解的两点,数据存储格式(也就是存储机制),数据存储位置。

1》文件如何存储(如上面4点)

2》文件存储在哪里。

对于数据的操作,其实我们关心的是操作的速率。

就好比在Adnroid中偏好存储,数据库存储,io存储一样。

ios数据持久化 - preference(偏好设置)

1.plist文件(属性列表)

2.preference(偏好设置)

3.NSKeyedArchiver(归档)

4.SQLite 3

5.CoreData

偏好设置是专门用来保存应用程序的配置信息的,一般不要在偏好设置中保存其他数据。

如果没有调用synchronize方法,系统会根据I/O情况不定时刻地保存到文件中。所以如果需要立即写入文件的就必须调用synchronize方法。

偏好设置会将所有数据保存到同一个文件中。即preference目录下的一个以此应用包名来命名的plist文件。

NSUserDefaults适合存储轻量级的本地数据,如登陆界面的数据,用户名、密码等用户偏好设置类的数据。下次启动应用的时候就可以直接从NSUserDefaults里面读取上次运行的数据。

如果使用自己建立的plist文件什么的,需要自己显式创建文件,读取文件,很麻烦,而如果用NSUserDefaults则不用管这些,就像读字典一样,直接读取数据就可以了,同时NSUserDefaults有缓存机制,可以避免频繁读写文件。

NSUserDefaults支持的数据格式有:NSNumber(BOOL、Integer、Float、Double),NSString,NSDate,NSArray,NSDictionary,NSData类型。

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

//添加preference

[defaults setObject:@"value1" forKey:@"key1"];

[defaults setObject:@1111 forKey:@"key2"];

[defaults synchronize];

//删除preference

[defaults removeObjectForKey:@"key1"];

[defaults synchronize];

//修改preference

[defaults setObject:@"value2" forKey:@"key1"];

[defaults synchronize];

//删除所有preference

NSString *appDomainStr = [[NSBundle mainBundle] bundleIdentifier];

[defaults removePersistentDomainForName:appDomainStr];

NSString *key1Value = [defaults objectForKey:@"key1"];

NSNumber *key2Value = [defaults objectForKey:@"key2"];

NSLog(@"偏好设置=%@=%@",key1Value,key2Value);

ios 开发中可以使用json作数据持久化吗》

iOS数据持久化一般采用下面方式

1、NSUserDefaults

2、数据归档。

3、SQLite3

4、Core Data

5、文件

如果你的json数据量不大的话可以使用NSUserDefaults、文件存储。数据量大就需要使用数据库存储。


分享名称:ios开发数据持久化,ios开发数据持久化什么意思
当前路径:http://cdweb.net/article/dsdgpde.html