2014-09-26 5 views
0

У меня есть собственный подкласс UIDocument, который я использую для хранения содержимого пользователя для моего приложения. Я вызываю -[UIDocument updateChangeCount:UIDocumentChangeDone] непосредственно для отслеживания изменений в документе. Сохранение и загрузка отлично работают, но документ никогда не автосохраняется. Почему это происходит?UIDocument autosave не работает

ответ

3

Оказалось, что проблема в том, что я не звонил -[UIDocument updateChangeCount:] из основного потока. Несмотря на то, что UIDocument не является элементом пользовательского интерфейса, он по-прежнему является частью UIKit, и поэтому обычные правила о всегда взаимодействии с классами UIKit по-прежнему применяются.

Обертывание код в депеше основной очереди исправили проблему:

dispatch_async(dispatch_get_main_queue(), ^{ 
    [doc updateChangeCount:UIDocumentChangeDone]; 
}); 
Смежные вопросы