4

一个对象需要提交到服务器,我想通过显示lastModified日期/时间和lastSubmitted日期/时间来向用户表明该对象需要提交。

(是的,必须手动提交记录。)

我目前正在侦听NSManagedObjectContextObjectsDidChangeNotification,检查对象的实体是否为RetailLocation,如果是,则设置其lastModified日期/时间(当然,仅当lastModified不是唯一被修改的属性时)。由于这似乎高度混淆了撤消管理器,我用它performSelector:SOMESEL withObject:retailLocation afterDelay:0.0来设置lastModified属性。

可悲的是,这几乎更糟:这导致两个动作被添加到撤消堆栈中!

有人可以推荐一种lastModified在 Core Data 管理的记录中实现属性的好方法吗?或者,我错过了什么?

4

1 回答 1

1

如果您不希望修改日期不可撤销,您可以disableUndoRegistration在进行更改之前和完成后调用您的 NSUndoManager enableUndoRegistration

如果你需要一个,你可以通过调用你的 NSManagedObjectContext 来获得一个指向 NSUndoManager 的指针undoManager,但是如果你在 iOS 中工作,你应该已经有了一个。

此外,请注意 Apple 建议NSManagedObjectContextWillSaveNotification为此使用通知,因为不一定会保存更改。

于 2013-03-18T00:21:55.053 回答