苹果手机分析与改进有preferences是什么意思

苹果手机分析与改进有preferences是什么意思,第1张

苹果手机分析与改进有preferences是什么意思:例如音频、视频、图片等数据Preferences:保存应用程序的所有偏好设置iOS的settings(设置),我们不应该直接在这里创建文件,而是需要通过NSUserDefault这个类来访问应用.

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)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11323291.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存