我是 iOS 的新手。这是 UIImagePickerController 示例中的代码
我想知道为什么使用 NSManagedObjectContext、NSEntityDescription 来管理数据。为什么不直接设置值?谢谢您的帮助!
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)selectedImage editingInfo:(NSDictionary *)editingInfo {
NSManagedObjectContext *context = event.managedObjectContext;
// If the event already has a photo, delete it.
if (event.photo) {
[context deleteObject:event.photo];
}
// Create a new photo object and set the image.
Photo *photo = [NSEntityDescription insertNewObjectForEntityForName:@"Photo" inManagedObjectContext:context];
photo.image = selectedImage;
// Associate the photo object with the event.
event.photo = photo;
// Create a thumbnail version of the image for the event object.
CGSize size = selectedImage.size;
CGFloat ratio = 0;
if (size.width > size.height) {
ratio = 44.0 / size.width;
}
else {
ratio = 44.0 / size.height;
}
CGRect rect = CGRectMake(0.0, 0.0, ratio * size.width, ratio * size.height);
UIGraphicsBeginImageContext(rect.size);
[selectedImage drawInRect:rect];
event.thumbnail = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
// Commit the change.
NSError *error = nil;
if (![event.managedObjectContext save:&error]) {
// Handle the error.
}
// Update the user interface appropriately.
[self updatePhotoInfo];
[self dismissModalViewControllerAnimated:YES];
}