我对如何使用一些核心数据的NSManagedObject子类来处理持久性数据和非持久性数据有一些想法。使用NSManagedObject子类传输持久性和非持久性数据
比方说,你有一个食谱应用程序显示你自己的CoreData食谱列表,在这个相同的应用程序,你也可以搜索其他用户食谱。 这些其他用户配方当然是来自API,我们不希望将它们保存到核心数据中。 但是我们想要的是我们的配方详细信息视图控制器行事相同,要么给它一个持久性配方或非持久性配方。 我自然认为我们应该在数据的周围使用相同的对象包装,并让我们的视图控制器在数据的来源上失明。
问题是,NSManagedObject的子类不能手动初始化,必须插入到上下文中。这对我们的其他用户食谱并不好。另一方面,对于我们自己的食谱,我们需要将这些对象插入到上下文中。
我有几个解决方案,但我真的很想看看你们对这个问题的看法。
你会说这是一些实现问题,应该通过将两个数据对象包装到一个对象中来解决?例如,通过覆盖所有getter和setter来处理coredata对象和NSDictionary对象?
或者它是一个体系结构问题,你可以通过嵌套NSManagedContext或使用多个持久性存储(一个在内存中,另一个是Sqlite)来解决它?
这很有趣!感谢您指出了这一点。 – 2013-04-11 17:55:07
据我所知,您不能在未插入上下文的对象之间建立关系。 – svena 2013-04-11 19:54:12
当然。但这并不总是很重要。 – 2013-04-11 20:44:13