Macos NSDocumentTitleBarpoOverviewController在第一次单击时移动未命名的NSDocument文件
我在Sierra(10.12.5)上运行基于NSDocument的macOS应用程序时遇到了一个奇怪的情况:Macos NSDocumentTitleBarpoOverviewController在第一次单击时移动未命名的NSDocument文件,macos,nsdocument,Macos,Nsdocument,我在Sierra(10.12.5)上运行基于NSDocument的macOS应用程序时遇到了一个奇怪的情况: 启动应用程序 创建新的无标题文档 代码正在使用setAutosavedContentsFileURL设置临时文件位置。我可以看到文件包是在那里创建的。(+AutoSavesInput返回是,顺便说一句) 单击标题栏以显示NSDocumentTitleBarpoOverview 立即,只要打开弹出窗口,临时文档就会从临时文件夹移动到我找不到的地方(或者完全删除?) 单击发生时,Move
- 启动应用程序
- 创建新的无标题文档
- 代码正在使用setAutosavedContentsFileURL设置临时文件位置。我可以看到文件包是在那里创建的。(+AutoSavesInput返回是,顺便说一句)
- 单击标题栏以显示NSDocumentTitleBarpoOverview
- 立即,只要打开弹出窗口,临时文档就会从临时文件夹移动到我找不到的地方(或者完全删除?)
更新:另一个关键点是我正在重写WriteSafeyToUrl以写入我的包信息。使用普通writeSafelyToURL将首先指示writeToURL写入tmp位置,然后在完成后,将其移动到真正的文件URL。在我的例子中,我希望就地写入,因为我的包可能有数百兆字节的大小,所以我只写入更改的内部数据文件。何时在initWithType的NSDocument子类中设置
autosavedContentsFileURL
?何时在initWithType的NSDocument子类中设置autosavedContentsFileURL
。