在我的应用程序中,我想保存刚刚拍摄到核心数据的电影。我不希望这些电影最终出现在普通相机胶卷中。我的想法是获取剪辑并将其加载到对象“电影”中,然后我可以保存到cor数据。就像地址簿中的照片一样。核心数据让我们保存到外部记录文件中,无论是什么。
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
movie = [info objectForKey:UIImagePickerControllerOriginalImage];
但是当我去保存电影时,电影显示为零。
NSManagedObjectContext *context = [self managedObjectContext];
NSManagedObject *newMedia = [NSEntityDescription insertNewObjectForEntityForName:@"Media" inManagedObjectContext:context];
[newMedia setValue:@"Video Clip " forKey:@"title"];
[newMedia setValue:now forKey:@"date_time"];
[newMedia setValue:movie forKey:@"movie"];
我希望有人能指出我正确的方向。 感谢
答案 0 :(得分:2)
您可以像这样获取视频:
NSURL *videoURL = [info objectForKey:UIImagePickerControllerMediaURL];
NSData *videoData = [NSData dataWithContentsOfURL:videoURL];
并在videoData
数据库中保存movie
,只要其类型为NSData
。
您的代码:
movie = [info objectForKey:UIImagePickerControllerOriginalImage];
拍完照片后,应该从UIImage
获得imagePickerController
,如果你说你正在录制,那就是为什么movie = nil;