NSPersistentDocument:浏览版本:尝试添加只读文件

Posted

技术标签:

【中文标题】NSPersistentDocument:浏览版本:尝试添加只读文件【英文标题】:NSPersistentDocument: browse versions : Attempt to add read-only file 【发布时间】:2016-03-02 15:59:03 【问题描述】:

因为我使用的是自定义核心数据堆栈,所以我将覆盖 init, readFromURL, writeToURLrevertToContentsOfURL 函数。

当我单击“浏览所有版本”时,我的文件的以前版本是 openend 并调用 init。但是我收到以下错误:

尝试在路径中添加只读文件...改为以只读方式添加。 这将是未来的一个硬错误; 您必须指定 NSReadOnlyPersistentStoreOption。

我现在的问题是:我如何知道打开的文件是普通文件还是版本文件?

【问题讨论】:

【参考方案1】:

好的,找到了。在 NS(Persistent)Document 的子类中,确定 NSPersistentStore 的选项时。

if self.inViewingMode 
     [NSSQLitePragmasOption: yourPragmaOptions,
      NSReadOnlyPersistentStoreOption: "YES"] 

【讨论】:

以上是关于NSPersistentDocument:浏览版本:尝试添加只读文件的主要内容,如果未能解决你的问题,请参考以下文章

使用 NSPersistentDocument 创建“文档”

创建持久存储时 NSPersistentDocument 崩溃

如何为 NSPersistentDocument 窗口赋予标题

撤消麻烦:以编程方式初始化`NSPersistentDocument`,标题栏中没有“已编辑”标志

NSPersistentDocument 和 NSArrayController 与 MagicalRecord

如何在 XCTestCase 中测试 NSPersistentDocument?