Я хочу убедиться, что при запуске приложения ничего не происходит, пока UIDocument openWithCompletionHandler: не будет завершен. Дело в том, что openWithCompletionHandler работает в основном потоке, и я считаю, что он должен (?)
В настоящее время я использую асинхронный подход, но это состояние гонки, иногда основные данные инициализируются иногда не тогда, когда загружается мой rootViewController
- (void)useDocument {
[self setPersistentStoreOptionsInDocument:self.document];
if(![[NSFileManager defaultManager] fileExistsAtPath:[self.document.fileURL path]]) {
[self.document saveToURL:self.document.fileURL forSaveOperation:UIDocumentSaveForCreating completionHandler:^(BOOL success) {
self.isReady = YES;
self.success = success;
}];
} else if (self.document.documentState == UIDocumentStateClosed) {
[self.document openWithCompletionHandler:^(BOOL success) {
self.isReady = YES;
self.success = success;
}];
} else if (self.document.documentState == UIDocumentStateNormal) {
self.isReady = YES;
self.success = YES;
}
}
заранее спасибо