我有一个 OS X 应用程序,它使用 的子类NSPersistentDocument
来存储数据。Core Data 持久存储类型是 SQLite。我依赖于在 Xcode 中使用 Core Data 为基于文档的应用程序创建新项目时创建的标准菜单命令。
这个应用程序已经存在了大约两年,并且在不断发展。就在今天,我发现“另存为”在我的最新版本中不起作用。行为如下:
- 我创建了一个新文档并输入了一些数据。
- 我保存文档,关闭它,然后重新打开它。一切安好。然后我选择“另存为”,为文件选择一个新名称和位置。它被重命名,我可以输入更多数据。
- 我保存文档,关闭它,重新打开它,它完全是空的。
- 当我打开原始文档时,应该在另存为文档中的所有更改都在那里。
- 应用程序不会崩溃或产生任何错误。
我很确定它曾经正常工作。我尝试了我的程序的第一个“官方”版本,并且行为是相同的(错误的)。
编辑:我创建了一个相同类型的新 Xcode 项目,只有一个核心数据实体。行为是相同的。与我的应用程序唯一不同的是,新项目自动使用了 10.7 Lion 引入的新“复制”菜单命令,而不是“另存为”。所以我必须按Option键来选择“另存为”。
我只在 10.9.3 上测试过,但在两台不同的 Mac 上测试过。有人知道在哪里看吗?
编辑2:它似乎与特定帐户有关(我在两台机器上的帐户)。它在另一个帐户上正常工作。