1

编辑:

从我之前的问题(如下)中,我掌握了我的资产(视频),并且我也有我的 PlayVideoViewController 的实现,但我一直在思考如何将这个资产传递给 playVideoViewController 对象。这是实现的代码片段:

  • (void)viewDidLoad { [超级 viewDidLoad];

    1. ALAssetRepresentation *assetRepresentation = [asset defaultRepresentation];
    2. NSURL *URL = [assetRepresentation url];
    3. NSLog(@"url: %@", URL);

....}

在我的第 1 行中,它给了我一个“使用未声明的标识符‘资产’”的错误。如果我可以传递“资产”,那么我可以解决问题,但我看到的唯一示例使用 .nib 而不是情节提要,例如,使用 .NIB,调用是:PlayVideoViewController *playVideoViewController = [[PlayVideoViewController alloc] initWithNibName:@" PlayVideoViewController" bundle:nil 资产:asset]; 请帮助如何传递“资产”。

==

我无法弄清楚一件事,我希望有人可以帮助我。请注意,我使用的不是 .nib,而是故事板,这就是我被困在这里的原因。

我已将资产(视频)加载到 tableview 中,当用户选择 tableviewcell 时,应用程序将转换到仅播放视频的新视图控制器 (PlayVideoViewController)。从加载资产(*资产)并让用户选择它的类中,我有这个代码片段:

ALAsset *asset = [assets objectAtIndex:row];
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard.storyboard" bundle:nil];

PlayVideoViewController *playVideoViewController = [storyboard instantiateViewControllerWithIdentifier:@"PlayVideoViewController"];     
[self.navigationController pushViewController:playVideoViewController animated:YES ];

如何将选定的视频传递给 PlayVideoViewController 以便它只播放视频?我如何将其合并到我的代码中并请给我一个示例?

4

2 回答 2

0

这可能对其他人有帮助:为了解决这个问题,我只是在新的 viewcontroller 中创建了一个 ALAsset 对象,并在 storyBoard:instantiateViewControllerWithIdentifier 之后将该对象传递给它。

于 2012-08-12T04:00:57.100 回答
0

@property在您的 PlayVideoViewController 的“ ”(接口)文件中创建一个“ ”,.h该文件采用文件 URL 或某种方式来引用您的视频。

然后,在你实例化你的 playVideoViewController 之后,在你推送之前,只需将该属性的值设置为文件 URL,这样你的新控制器就知道从哪里获取视频。

于 2012-08-09T17:55:36.757 回答