Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 单击主视图控制器中的按钮,将录制的视频保存到容器视图中?_Ios_Objective C_Xcode6_Uiimagepickercontroller - Fatal编程技术网

Ios 单击主视图控制器中的按钮,将录制的视频保存到容器视图中?

Ios 单击主视图控制器中的按钮,将录制的视频保存到容器视图中?,ios,objective-c,xcode6,uiimagepickercontroller,Ios,Objective C,Xcode6,Uiimagepickercontroller,我的应用程序录制视频,播放并保存视频。我在主视图控制器中使用容器视图。与主视图控制器中的UISegmentedControl一样,my(SaveVideo)按钮不在容器视图中。因此,我无法保存录制的视频 我的代码在ViewController.m中如下所示: - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {

我的应用程序录制视频,播放并保存视频。我在主视图控制器中使用容器视图。与主视图控制器中的UISegmentedControl一样,my(SaveVideo)按钮不在容器视图中。因此,我无法保存录制的视频

我的代码在ViewController.m中如下所示:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {

   mediaType = [info objectForKey:UIImagePickerControllerMediaType];
   if ([mediaType isEqualToString:@"public.movie"]){
    // Saving the video / // Get the new unique filename
    sourcePath = [[info  objectForKey:@"UIImagePickerControllerMediaURL"]relativePath];
}
  [self.videoController play];
}   


- (IBAction)saveVideo:(id)sender
{
  UISaveVideoAtPathToSavedPhotosAlbum(sourcePath,nil,nil,nil);   
}
我在控制台中遇到以下错误:

'[NSURL initFileURLWithPath:]: nil string parameter'

如何才能使我的主视图控制器中的按钮识别容器视图中录制的视频的源路径?

在主视图控制器中保留对容器视图控制器的引用

@interface mainViewController ()
@property (nonatomic, strong) containerViewController;
@end
然后在containerViewController中,在头文件中保留一个引用源路径的属性

//containerViewController.h
@interface containerViewController : UIViewController
@property (nonatomic, strong) NSString *sourcePath;
@end
然后,当选择“保存视频”按钮时,可以引用containerViewController源路径属性

- (IBAction)saveVideo:(id)sender
{
  UISaveVideoAtPathToSavedPhotosAlbum(self.containerViewController.sourcePath,nil,nil,nil);   
}

非常有帮助,但我有个错误。“containerViewController”的对象类型是什么?容器视图控制器将是UIViewController的子类。它与您的“容器视图”是同一个“视图控制器”,但我不知道您给它的名称。如果您仍然有问题,我会上传更多的代码,显示如何表示容器视图并转换到它们。