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

最佳答案

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

将代码包装在分派到主队列中可以解决此问题:

dispatch_async(dispatch_get_main_queue(), ^{
    [doc updateChangeCount:UIDocumentChangeDone];
});

关于ios - 调用updateChangeCount时,UIDocument自动保存不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26066569/

10-11 13:49