数据持久化——Singleton类
我有一个存储三个 NSMutableArrays 的单例类。每个数组存储大约 4 - 5 个我称为 Program
的自定义对象项。如何存储当前应用程序实例之外的那些内容?
我应该选择核心数据吗?我认为这对于 Core Data 来说太简单了。我已经在我的应用程序中使用 Core Data 进行更复杂的存储。是否有像 NSUserDefaults 这样的东西,我可以用自定义对象存储这些数组并轻松检索它们?
谢谢
I have a singleton class that stores three NSMutableArrays
. Each array stores about 4 - 5 items of a custom object I called Program
. How can I store those beyond the current application instance?
Should I go with Core Data? I think this is too simple for Core Data. I am already using Core Data for more complex storage in my app. Is there something like NSUserDefaults
where I will be able to store those arrays with custom objects and retrieve them easily?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
NSUserDefaults 不能存储任意对象,只能存储 NSData、NSString、NSNumber、NSDate 的实例、NSArray 或 NSDictionary。但是,您可以将您的对象转换为其中之一 - 例如通过使用 NSKeyedArchiver:(
只需在您的 Program 类中实现两个 NSCoding 协议方法)。
NSUserDefaults can't store arbitrary objects, but only instances of NSData, NSString, NSNumber, NSDate, NSArray, or NSDictionary. You can, however, convert your object into one of those - e.g. by using NSKeyedArchiver:
(just implement the two NSCoding protocol methods in your Program class).