2015-07-13 12 views
5

Tak więc mam to AVPlayerViewController zagnieżdżone wewnątrz widoku kontenera w moim scenorysie. Uzyskuję dostęp do kontrolera tego odtwarzacza za pomocą prepareForSegue. Ale kiedy próbuję ustawić dowolne właściwości na jego właściwości, Xcode daje mi błąd Receiver 'AVPlayer' for class message is a forward declaration. Mam AVKit poprawnie zaimportowane w .h. Co ja robię źle?Deklaracja klasy forward AVPlayer

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 
    if ([segue.identifier isEqualToString:@"videoPlayerEmbed"]) { 
     self.videoPlayerController = (AVPlayerViewController *)segue.destinationViewController; 
     self.videoPlayerController.delegate = self; 
     self.videoPlayerController.player = [[AVPlayer alloc] init]; 
    } else { 
     [super prepareForSegue:segue sender:sender]; 
    } 
} 

Odpowiedz

21

Wymyśliłem to. Myślałem, że #import <AVKit/AVKit.h> wystarczy dla AVPlayerViewController, ale jeśli chcesz zarządzać AVPlayer, potrzebujesz również #import <AVFoundation/AVFoundation.h>.

0

Czy importowany AVPlayerViewController.h tj #import "AVPlayerViewController.h"?

Deklaracja forward to miejsce, w którym próbujesz wysyłać wiadomości do klasy, o której kompilator nie ma informacji.

+0

Otrzymuję teraz plik ''AVPlayerViewController.h' nie znaleziony'. – Victor

+0

@ TechGenius Upewnij się, że twój projekt> Ogólne> Powiązane frameworki i biblioteki zawiera AVKit.framework i AVFoundation.framework – ammianus