У меня есть собственный подкласс UIDocument и реализованы loadFromContents:
и contentsForType:
.
Чтобы обнаружить, что документ был изменен на другом устройстве, я добавил делегата к loadFromContents:
, как это было предложено в Документация Apple:
- (BOOL)loadFromContents:(id)contents ofType:(NSString *)typeName error:(NSError **)outError {
// load from disk […]
if ([_delegate respondsToSelector:@selector(noteDocumentContentsUpdated:)]) {
[_delegate noteDocumentContentsUpdated:self];
}
return YES;
}
Моя проблема заключается в том, что когда я изменяю документ на другом устройстве, я получаю уведомления об изменении состояния документа (edit_disabled
, за которым следует normal
), но содержимое не перезагружается и loadFromContents:
не вызывается.
Содержимое определенно было обновлено на диске. Когда я снова открываю документ через пользовательский интерфейс, я сразу же вижу последние изменения.
В других случаях это работает, и loadFromContents:
вызывается автоматически. Не могу понять, почему иногда не работает. Кто-нибудь еще видел эту проблему?