调用updateChangeCount时,UIDocument自动保存不起作用

Jay*_*son 1 uikit ios uidocument

我有一个自定义子类,UIDocument用于存储我的应用程序的用户内容.我-[UIDocument updateChangeCount:UIDocumentChangeDone]直接打电话来跟踪对文档的更改.保存和加载工作正常,但文档永远不会自动保存.为什么会这样?

Jay*_*son 5

事实证明,问题是我没有-[UIDocument updateChangeCount:]从主线程调用.尽管UIDocument不是UI元素,但它仍然是其中的一部分,UIKit因此关于始终与UIKit主线程中的类进行交互的常见警告仍然适用.

将代码包装到主队列中解决了问题:

dispatch_async(dispatch_get_main_queue(), ^{
    [doc updateChangeCount:UIDocumentChangeDone];
});
Run Code Online (Sandbox Code Playgroud)