因为我使用的是自定义核心数据堆栈,所以我正在覆盖init, readFromURL, writeToURL
和revertToContentsOfURL
函数。
当我单击"浏览所有版本"时,我的文件的先前版本是开放式的,并调用了 init。但是我收到以下错误:
尝试在路径 ...改为以只读方式添加它。
这将是将来的一个硬错误;
必须指定 NSReadOnlyPersistentStoreOption。
我现在的问题是:我怎么知道正在打开的文件是常规文件还是版本控制文件?
好的,找到了。在 NS(Persistent)Document 的子类中,在确定 NSPersistentStore 的选项时。
if self.inViewingMode {
[NSSQLitePragmasOption: yourPragmaOptions,
NSReadOnlyPersistentStoreOption: "YES"] }