ios – NSUserDefaults与应用程序状态的核心数据

ios – NSUserDefaults与应用程序状态的核心数据,第1张

概述我有一个现有的大型应用程序使用plist来存储其数据.我存储指示当前项目选择的应用程序状态,当前用户以及用户默认值中的各种其他当前选择.当数据在plists中时,这很好用.现在我正在重构使用Core Data而不是plists.我想将对象实例的引用存储为当前查看的对象.我知道sqlite和Core Data在数据库中有这个对象的ID,但是我不确定在用户默认值中存储什么.我想到了三种选择: >生成我 我有一个现有的大型应用程序使用pList来存储其数据.我存储指示当前项目选择的应用程序状态,当前用户以及用户默认值中的各种其他当前选择.当数据在pLists中时,这很好用.现在我正在重构使用Core Data而不是pLists.我想将对象实例的引用存储为当前查看的对象.我知道sqlite和Core Data在数据库中有这个对象的ID,但是我不确定在用户默认值中存储什么.我想到了三种选择:

>生成我自己的顺序ID,将我想要记住的对象存储为“当前”,将该ID存储在用户默认值中.
>尝试使用NSManagedobjectID并存储在用户默认值中.我“想”我可以将它转换为字符串,如下所示.这有用吗?

Nsstring * stringID = [[[managedobject objectID] URIRepresentation] absoluteString];
>我可以在Core Data中创建一个当前状态实体,它是一个单独的行,只有一行.该实体可以与我想要跟踪的当前对象具有一对一的关系.

对于采用最佳设计考虑的方法,建议表示赞赏.

重复评论,方法#2的缺点是什么?我在网上看过有冲突的帐户.有人说对象ID在迁移过程中并不一致,但Apple本身似乎认为这是解决方案.

在NSManagedobjectID的Apple Class Reference中,他们讨论了这种情况,并讨论了如何在用户默认值中保存ID.它说,“对象ID可以转换为URI表示,可以存档并稍后重新创建以引用回给定对象(使用managedobjectIDForURIRepresentation:(NSPersistentStoreCoordinator)和objectWithID 总结

以上是内存溢出为你收集整理的ios – NSUserDefaults与应用程序状态的核心数据全部内容,希望文章能够帮你解决ios – NSUserDefaults与应用程序状态的核心数据所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

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

原文地址: http://outofmemory.cn/web/1034775.html

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

发表评论

登录后才能评论

评论列表(0条)

保存