segueing到视图控制器之间的差距及其内容显示 - UIDocument

时间:2014-06-29 21:37:35

标签: ios objective-c uimanageddocument

我有一个名为useDocument的方法,它在我的视图控制器的属性(一个名为'document'的UIDocument子类)被设置时运行。这是方法:

- (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
        //
    }
}

视图控制器成功被推送到堆栈并显示,但是当文件不存在且必须保存时,日志之间存在明显的差距(大约11秒),表示文件已保存,并显示导航栏内容(UIBarButtonItem

我还应该指出视图控制器中的UICollectionView显示自己。

有谁知道为什么会这样?

1 个答案:

答案 0 :(得分:0)

以编程方式设置它有效,但如果有人有IB的解决方案,我宁愿听到它!