需要将对象提交给服务器,并且我想通过显示lastModified
日期/时间和lastSubmitted
日期/时间向用户指示需要提交对象。
(是的,必须手动提交记录。)
我正在侦听NSManagedObjectContextObjectsDidChangeNotification
,检查对象的实体是否为RetailLocation
,如果是,则设置其lastModified
日期/时间(当然,仅当{{1}不是唯一被修改的属性)。由于这似乎高度混淆了撤消管理器,因此我使用lastModified
来设置performSelector:SOMESEL withObject:retailLocation afterDelay:0.0
属性。
可悲的是,这几乎更糟糕了:这会导致两个操作被添加到撤消堆栈中!
有人可以推荐一种在核心数据管理记录中实现lastModified
属性的好方法吗?或者,我错过了什么?
答案 0 :(得分:1)
如果您不希望撤消修改日期,可以在进行更改前在NSUndoManager上调用disableUndoRegistration
,在完成后调用enableUndoRegistration
。
如果你需要一个,你可以通过调用NSManagedObjectContext上的undoManager
获得指向NSUndoManager的指针,但是如果你在iOS中工作,你应该已经有一个指针。
此外,请注意Apple建议使用NSManagedObjectContextWillSaveNotification
通知,因为可能不一定会保存更改。