我有一个基于文档的应用程序,可以在文档文件上执行某些 *** 作.为此,我每次调用文档 *** 作时都会保存文档.为此,我使用的方法:
savedocumentWithDelegate:dIDSaveSelector:contextInfo:
问题是,当关闭文档时,从最近的文件菜单重新打开它然后再次执行 *** 作我将看到对话框说明
This document’s file has been changed by another application since you opened or saved it.
但是,使用保存菜单项时不是这种情况.
我试过不同的保存方法:
savetoURL:ofType:forSaveOperation:error:
即使这导致我正在寻找的行为有副作用:执行 *** 作后保存菜单项将被取消激活.
所以我的问题是:我应该如何以编程方式正确执行保存 *** 作?我查看了文档,但我没有看到任何看似明显的解决方案.
所有帮助表示赞赏.谢谢
解决方法 我在这种情况下找到了解决这个问题的方法.在覆盖configurePersistentStoreCoordinatorForURL的选项中存在问题:ofType:modelConfiguration:storeOptions:error:NSPersistentdocument的方法.删除字符串时问题解决了
[options setobject:[NSNumber numberWithBool:YES] forKey:NSsqliteManualVacuumOption]
我出于某种原因使用了真空选项.不知道如何但它导致了保存问题.当我拒绝这个选项时,问题就消失了.
总结以上是内存溢出为你收集整理的objective-c – 以编程方式保存原因文档,以便在重新打开文件时考虑其他应用程序更改文档全部内容,希望文章能够帮你解决objective-c – 以编程方式保存原因文档,以便在重新打开文件时考虑其他应用程序更改文档所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)