Разрыв между разделением для просмотра контроллера и отображением его содержимого — UIDocument

#ios #objective-c #uimanageddocument

#iOS #objective-c #uimanageddocument

Вопрос:

У меня есть вызываемый метод useDocument , который запускается, когда устанавливается свойство (подкласс UIDocument, называемый «document») моего контроллера просмотра. Вот метод:

 - (void)useDocument
{
    if (![[NSFileManager defaultManager] fileExistsAtPath:self.document.fileURL.path]) {
        //
        //  Does not exist on disk, save
        //
        [self.document saveToURL:self.document.fileURL
                forSaveOperation:UIDocumentSaveForCreating
               completionHandler:^(BOOL success) {
                   if (!success) {
                       NSLog(@"Failed to create file at url: %@", self.document.fileURL);
                   } else {
                       NSLog(@"Created file at %@", self.document.fileURL);
                   }


               }];
    } else if (self.document.documentState == UIDocumentStateClosed) {
        //
        //  Document is closed, open
        //
        [self.document openWithCompletionHandler:^(BOOL success) {
            if (!success) {
                NSLog(@"Failed to open file at url: %@", self.document.fileURL);
            } else {
                NSLog(@"Opened file at %@", self.document.fileURL);
            }
        }];
    } else if (self.document.documentState == UIDocumentStateNormal) {
        //
        //  Document is ready to be used
        //
    }
}
  

Контроллер просмотра успешно помещается в стек и отображается, но когда файл не существует и его необходимо сохранить, между журналом, в котором говорится, что файл был сохранен, и отображаемым содержимым панели навигации (a ) наблюдается заметный разрыв (около 11 секунд). UIBarButtonItem

Я также должен отметить, что UICollectionView внутри view controller отображается сам.

Кто-нибудь знает, почему это может быть?

Ответ №1:

Настройка его программно работает, но если у кого-нибудь есть решение для IB, я бы предпочел его услышать!