开发者

How can I detect when a NSPersistentStore needs to be saved?

开发者 https://www.devze.com 2023-04-10 03:23 出处:网络
I have an iOS application where I use coreData to store my \"documents\". They all share a common NSManagedObjectContext, and I frequently save the context.

I have an iOS application where I use coreData to store my "documents". They all share a common NSManagedObjectContext, and I frequently save the context.

I would like to keep track of the last modification date for the various "documents" (where each one is a separate NSPersistentStore) and store the date on a particular unique "root" object that each store has.

I could try to keep the modification time stamp up to date while the document is being modified, but it would be cleaner and more robust if I could just find out which persistent stores need saving at the time I am saving the context.

I can't find any way to detect if a persistent store needs saving. I can query the NSManagedObjectContext to see which managed objects need saving, although I can't find an easy way to see which store an object belongs to.

It seems like this is not such a strange thing to do and core data has all of the information that I am looking for, but I am having trouble finding an easy way to get access to that data.

Does anyone know of an easy way?

If I can't find an easier way, I will simply loop over the deleted / modified / inserted objects from the context, and writ开发者_如何学运维e special code for each entity type to determine the store that the object belongs to.

Thanks in advance for any help!

Ron


[[managedObject objectID] persistentStore] is the persistent store you're looking for (or possibly nil if the object has not been saved yet).

The documentation suggests that it's nil if you've assigned it to a store but haven't saved; I'm not sure that this is true (and I don't see anywhere else where this info might be saved). I'd check it behaviour on 3.x, 4.x, and 5.0 beta if you have access to it.

0

精彩评论

暂无评论...
验证码 换一张
取 消