私はこのブログを使用しています: http://www.adevelopingstory.com/blog/2012/03/core-data-with-a-single-shared-uimanageddocument.htmlシングルトンのシングルトンを作成しますUIManagedDocument
。関連するコードは次のとおりですBetterDatabase
//In BetterDatabase
typedef void (^OnDocumentReady) (UIManagedDocument *document);
- (void)performWithDocument:(OnDocumentReady)onDocumentReady
{
void (^OnDocumentDidLoad)(BOOL) = ^(BOOL success) {
onDocumentReady(self.document);
};
if (![[NSFileManager defaultManager] fileExistsAtPath:[self.document.fileURL path]]) {
[self.document saveToURL:self.document.fileURL
forSaveOperation:UIDocumentSaveForCreating
completionHandler:OnDocumentDidLoad];
} else if (self.document.documentState == UIDocumentStateClosed) {
[self.document openWithCompletionHandler:OnDocumentDidLoad];
} else if (self.document.documentState == UIDocumentStateNormal) {
OnDocumentDidLoad(YES);
}
}
//In other class
[[BetterDatabase sharedDocumentHandler] performWithDocument:^(UIManagedDocument * document) {
//Do stuff 1
//Do stuff 2
}];
私の質問: いつ UIManagedDocument を自動的に閉じることができますか? つまり、スタッフ 1 とスタッフ 2 の間でドキュメントが (OS/SDK によって) 閉じられる可能性はありますか? ユーザーが iPhone アプリを最小化してから再度開くとどうなりますか? UIManagedDocument
閉鎖されますか?
これを別の言い方をすると、次のようになります。UIManagedDocument