我有一个名为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
显示自己。
有谁知道为什么会这样?
答案 0 :(得分:0)
以编程方式设置它有效,但如果有人有IB的解决方案,我宁愿听到它!