OStack程序员社区-中国程序员成长平台

标题: iphone - 如何检测何时需要保存 NSPersistentStore? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 20:19
标题: iphone - 如何检测何时需要保存 NSPersistentStore?

我有一个 iOS 应用程序,我在其中使用 coreData 来存储我的“文档”。它们都共享一个共同的 NSManagedObjectContext,我经常保存上下文。

我想跟踪各种“文档”(其中每个文档都是单独的 NSPersistentStore)的最后修改日期,并将日期存储在每个商店拥有的特定唯一“根”对象中。

我可以尝试在修改文档时使修改时间戳保持最新,但如果我能在保存上下文时找出需要保存哪些持久性存储,它会更清晰、更健壮。

我找不到任何方法来检测持久性存储是否需要保存。我可以查询 NSManagedObjectContext 以查看需要保存哪些托管对象,尽管我找不到查看对象属于哪个存储的简单方法。

看起来这并不是一件奇怪的事情,核心数据包含我正在寻找的所有信息,但我很难找到一种简单的方法来访问这些数据。

有没有人知道一个简单的方法?

如果找不到更简单的方法,我会简单地从上下文中循环删除/修改/插入的对象,并为每个实体类型编写特殊代码来确定对象所属的商店。

提前感谢您的帮助!

罗恩



Best Answer-推荐答案


[[managedObject objectID] persistentStore] 是您要查找的持久性存储(如果尚未保存对象,则可能为 nil)。

文档表明,如果您已将其分配给商店但尚未保存,则为 nil;我不确定这是真的(而且我看不到其他任何地方可以保存此信息)。如果您可以访问它,我会检查它在 3.x、4.x 和 5.0 beta 上的行为。

关于iphone - 如何检测何时需要保存 NSPersistentStore?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7641404/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4