我正在构建一个应用程序,它从 Web API 接收大量列表,并允许用户保存一些列表以供离线查看。我通常的做法是:
- 从API获取数据,并为每个数据创建一个新的Listing对象
- 如果用户选择将对象保存到数据库中。
但这是一个核心数据应用程序,因此保存的是上下文,而不是对象。在这种情况下,上面的内容就会变成这样:
- 从API获取数据,并为每个数据创建一个非托管Listing对象
- 如果用户选择将对象移动到托管上下文中,然后保存上下文
拥有 Listing 对象的非托管版本和托管版本的一种方法是拥有两个类,例如ManagedListing 和 UnmanagedListing - 但这是一种可怕的重复方式。
我想要的是让 Listing 成为 NSManagedObject 的子类;在没有 NSManagedObjectContext 的情况下初始化一堆它们;然后,当我想保存一个时,我要么设置它的上下文,要么将它的属性复制到上下文内的新列表中。
我可以在没有特定 NSManagedObjectContext 的情况下创建 NSManagedObject 实例吗?如果是这样,怎么办?
使用两个持久存储,一个在内存中,一个在磁盘上。如果用户想要保存,请使用将对象移动到其他存储assignObject:toPersistentStore:
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)