数据持久化——Singleton类

发布于 2024-11-30 17:10:58 字数 243 浏览 0 评论 0原文

我有一个存储三个 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦归所梦 2024-12-07 17:10:58

NSUserDefaults 不能存储任意对象,只能存储 NSDataNSStringNSNumberNSDate 的实例NSArrayNSDictionary。但是,您可以将您的对象转换为其中之一 - 例如通过使用 NSKeyedArchiver:(

+ (NSData *)archivedDataWithRootObject:(id)rootObject 

只需在您的 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:

+ (NSData *)archivedDataWithRootObject:(id)rootObject 

(just implement the two NSCoding protocol methods in your Program class).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文