通过观看斯坦福2011年冬的公开课程视频 Core Data总结
Opening a UIManagedDocument
- (id)init{
if (self = [super init])
{
NSURL *documentUrl = [[[NSFileManager defaultManager]URLsForDirectory:NSDocumentationDirectory inDomains:NSUserDomainMask] lastObject];
NSURL *imageDbUrl = [documentUrl URLByAppendingPathComponent:@"imageBd"];
_imageDocument = [[UIManagedDocument alloc] initWithFileURL:imageDbUrl];
if ([[NSFileManager defaultManager] fileExistsAtPath:[self.imageDocument.fileURL path]])
{
[_imageDocument openWithCompletionHandler:^(BOOL success)
{
if (success)
{
[self imageDocumentReady];
}
else
{
NSLog(@"couldn't open documnet at %@", imageDbUrl);
}
} ];
}
else
{
[_imageDocument saveToURL:self.imageDocument.fileURL forSaveOperation:UIDocumentSaveForCreating completionHandler:^(BOOL success) {
if (success)
{
[self imageDocumentReady];
}
else
{
NSLog(@"couldn't create document at %@", imageDbUrl);
}
}];
}
}
return self;
}
- (void)imageDocumentReady
{
self.managedObjectContext = self.imageDocument.managedObjectContext;
}