每次我的一個託管對象被修改時,爲了方便起見,當我與其他客戶端同步時,我希望存儲它被修改的日期(在已經在我的數據模型中的屬性中)。如何在NSManagedObject每次更改時設置修改日期?
有沒有辦法做到這一點,沒有A)手動重寫所有我的setter或B)依靠自己總是每次修改對象時更改修改日期?
每次我的一個託管對象被修改時,爲了方便起見,當我與其他客戶端同步時,我希望存儲它被修改的日期(在已經在我的數據模型中的屬性中)。如何在NSManagedObject每次更改時設置修改日期?
有沒有辦法做到這一點,沒有A)手動重寫所有我的setter或B)依靠自己總是每次修改對象時更改修改日期?
您可以向通知中心註冊以遵守NSManagedObjectContextObjectsDidChange通知。
這會告訴你什麼對象發生了變化。你可以檢查你的對象是否在其中,並採取相應的行動。
爲了完整起見,如果您已經擁有NSManagedObject的子類,則還可以在-willSave
中執行此操作。
唯一需要注意的是,每次保存對象時都會調用saveSave,所以您需要做一些額外的工作來確定它是否被添加/修改/刪除。 NSManagedObjectContext通知爲你做了這個,並讓你NSSets迭代。 – refulgentis
是的,這是我最終做的。謝謝。 – refulgentis