我有一个使用coreData存储“文档”的iOS应用程序。它们都共享一个共同的NSManagedObjectContext,我经常保存上下文。
我想跟踪各种“文档”的最后修改日期(其中每个文档都是一个单独的NSPersistentStore),并将该日期存储在每个商店拥有的特定唯一“根”对象上。
在修改文档时,我可以尝试保持修改时间戳是最新的,但如果我能在保存上下文时找出哪些持久存储需要保存,那么它会更干净、更健壮。
我找不到任何方法来检测持久性存储是否需要保存。我可以查询NSManagedObjectContext来查看哪些托管对象需要保存,尽管我找不到一种简单的方法来查看对象属于哪个存储。
这似乎并不是一件奇怪的事情,核心数据拥有我正在寻找的所有信息,但我很难找到一种简单的方法来访问这些数据。
有谁知道一种简单的方法吗?
如果我找不到更简单的方法,我会简单地从上下文中循环删除/修改/插入的对象,并为每个实体类型编写特殊的代码来确定对象所属的存储。
提前感谢您的帮助!
罗恩
发布于 2011-10-04 09:58:41
[[managedObject objectID] persistentStore]是您正在寻找的持久化存储(如果对象尚未保存,则可能为空)。
文档表明,如果您已将其分配到商店但未保存,则它为nil;我不确定这是否属实(我也看不到其他任何地方可能保存此信息)。我会检查它在3.x,4.x和5.0测试版上的行为,如果你可以访问它的话。
https://stackoverflow.com/questions/7641404
复制相似问题