AVPlayer转发类声明

时间:2015-07-13 07:03:22

标签: objective-c xcode video

所以我将AVPlayerViewController嵌套在我的故事板中的容器视图中。我使用prepareForSegue访问此播放器视频控制器。但是当我尝试在它的player属性上设置任何属性时,Xcode会给我一个错误Receiver 'AVPlayer' for class message is a forward declaration。我在.h中正确导入了AVKit。我做错了什么?

- (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];
    }
}

2 个答案:

答案 0 :(得分:21)

我明白了。我认为#import <AVKit/AVKit.h>对于AVPlayerViewController已经足够了,但是如果你想管理AVPlayer,你还需要#import <AVFoundation/AVFoundation.h>

答案 1 :(得分:0)

您是否导入了AVPlayerViewController.h,即#import "AVPlayerViewController.h"

前向声明是您尝试将消息发送到编译器不知道的类的位置。