我需要存储一些单一值,例如从服务器登录用户的id,或者例如第一次启动应用程序的标志。此信息必须持久存储,当然应该有线程安全。这样做的最佳方法是什么?据我了解,至少有两种持久存储技术 - NSUserDefaults和Core Data。第一个不应该做我需要的,即它应该存储用户偏好,而不是技术数据,第二个应该存储数量大于1的关系实体,AFAIK。
是否有其他技术可以持久存储具有线程安全性的应用程序数据?我是否应该进一步了解核心数据?
答案 0 :(得分:3)
NSUSerDefaults
是您需要使用的。只要没有机密信息,您就可以保存数据。请不要使用 NSUserDefaults
来保存密码等内容。使用Keychain服务。强>
答案 1 :(得分:1)
使用NSUserDefaults
。这不仅仅是针对用户的偏好。您可以在其中存储任何设置,选项,标记或数据。出于性能原因,它不应该太多(例如数千条或更多条目)。
您也可以简单地将文件写入用户的文档文件夹。 NSSString
,NSArray
和NSDictionary
都有可以写入文件或从文件中读取的方法。