2012-08-09 13 views
1

Отредактированы:IOS 5: Использование объекта Asset загруженный в UITableView для отображения в другом ViewController с помощью раскадровки

С моим ранее вопроса (ниже), у меня есть ручка на моих активах (видео), и я также реализация мой PlayVideoViewController, но я зациклился на том, как передать этот актив объекту playVideoViewController. Вот фрагмент кода реализации:

  • (аннулируются) viewDidLoad { [супер viewDidLoad];

    1. ALAssetRepresentation * assetRepresentation = [asset defaultRepresentation];
    2. NSURL * URL = [URL-адрес ресурса];
    3. NSLog (@ "url:% @", URL);

.... }

В моей линии 1., это дает мне "Использование необъявленной идентификатора" активов" ошибка. Если я могу передать «актив», то я могу решить проблему, но единственные примеры, которые я видел, используют .nib, а не раскадровку, например, используя .NIB, вызов: PlayVideoViewController * playVideoViewController = [[PlayVideoViewController alloc] initWithNibName: @ " PlayVideoViewController ": ноль: актив]; Пожалуйста, помогите, как передать «актив».

==

Я не могу понять только одну вещь, и я надеюсь, что кто-то может помочь мне. Обратите внимание, что я не использую .nib, но раскадровки, и именно поэтому я застрял здесь.

Я загрузил активы (видео) в таблицу просмотра, и когда пользователь выбирает 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 так он просто воспроизводит видео? Как я включаю это в свой код и любезно показываю мне пример?

ответ

0

Создайте «@property» в вашем файле «.h» вашего PlayVideoViewController, который принимает URL-адрес файла или способ ссылки на ваше видео.

Затем, после того, как вы создадите экземпляр вашего playVideoViewController и перед тем, как нажать, просто установите значение этого свойства в URL-адрес файла, чтобы ваш новый контроллер знал, где взять видео.

+0

Возможно, вам понадобится немного информации, которая поможет вам разобраться в ситуации. В моем классе PlayVideoViewController у меня уже есть: ALAssetRepresentation * assetRepresentation = [свойство defaultRepresentation]; NSURL * URL = [URL-адрес ресурса]; NSLog (@ "url:% @", URL); Проблема заключается в том, как сделать это соединение, поскольку оно говорит мне, что «актив» не объявлен, но он передается из первой строки кода, который был вставлен ранее. –

+0

хорошо, похоже, что вы передаете «актив» от родителя к вашему «PlayVideoViewController», да? –

+0

Да, да, это то, что я делаю. –

0

Это может помочь кому-то еще: для решения проблемы я просто создал объект ALAsset в новом диспетчере представлений и передал ему объект после storyBoard: instantiateViewControllerWithIdentifier.