所以我将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];
}
}
答案 0 :(得分:21)
我明白了。我认为#import <AVKit/AVKit.h>
对于AVPlayerViewController已经足够了,但是如果你想管理AVPlayer
,你还需要#import <AVFoundation/AVFoundation.h>
。
答案 1 :(得分:0)
您是否导入了AVPlayerViewController.h
,即#import "AVPlayerViewController.h"
?
前向声明是您尝试将消息发送到编译器不知道的类的位置。