【发布时间】:2009-09-30 19:57:15
【问题描述】:
我正在开发一个非基于文档的核心数据应用程序。
我希望在更改发生时保存更改。这是用户在此类应用程序中所期望的。这也是 Apple 在 iPhoto 或 iTunes 中实现的功能。
一种蛮力方法是设置一个计时器以频繁保存。然后由保存触发的方法将吞下所有验证错误,以免打扰用户。只有在退出时,用户才会被窃听来安排数据以便保存。恕我直言,这种方法很臭。
所以我在想,一定有办法以某种方式将保存与NSEditor 协议之类的东西挂钩。每次用户(或控制器)完成编辑数据时,应以某种方式通知应用程序委托触发保存操作。问题是我不知道该去哪里找。
我认为对于更复杂的操作,可能需要进行一些交叉验证,我会向用户提供一些与专用NSManagedObjectContext相关的界面。
【问题讨论】:
-
如果您已经支持撤消,只需在每次将内容推送到撤消堆栈时将其保存。
-
我还不支持撤消。我只使用 CoreData 提供的。但是您正在为扩展撤消支持提供强有力的理由。
-
这个帖子很老了。我不清楚 processPendingTransactions 是否仍然存在。在这里尝试一些对我有用的东西,不知道它是否完全平行:stackoverflow.com/a/44120342/826946