将UIManagedDocument引入OS X?

时间:2012-09-06 06:32:05

标签: objective-c macos cocoa core-data nsdocument

我需要在基于Core Data文档的应用程序中实现异步保存。我的NSDocument子类的图案就像iOS'UIManagedDocument一样,带有一对NSManagedObjectContext个实例,一个用于主线程,带有父背景,用于保存背景。

问题在于,无论何时我在文档中,应用程序始终会显示提示:

  

文档...无法保存。该文件已被其他应用程序更改。

我想知道我的实施中缺少什么?每当我保存时,如何使上面的对话框消失?

您可以在此要点中找到我的NSDocument子类:https://gist.github.com/3652120

1 个答案:

答案 0 :(得分:1)

显然克隆UIManagedDocument的功能并不太难。需要注意的是,每当保存主线程的上下文时,都要确保更新文件日期的NSDocument概念。第二个警告是使用主线程管理对象上下文的撤消管理器。

有关如何执行此操作的信息,请参阅Bringing Asynchronous Core Data documents to OS X,并如何对NSDocument子类代码进行采样。