【问题标题】:Unrecognized selector sent to instance ('NSInvalidArgumentException')无法识别的选择器发送到实例('NSInvalidArgumentException')
【发布时间】:2018-01-19 01:08:38
【问题描述】:

我正在设置一个使用 Google VR 观看视频的课程。它使用示例代码运行没有错误。当我将类和视图控制器复制到我的项目时,会发生此错误:

由于未捕获的异常 'NSInvalidArgumentException' 导致应用程序终止,原因:'-[UIView setDelegate:]: unrecognized selector sent to instance 0x109d04d90'

以下是相关代码:

  @interface VideoPlayerViewController () <GVRVideoViewDelegate>
  @property(nonatomic) IBOutlet GVRVideoView *videoView;
  @property(nonatomic) IBOutlet UITextView *attributionTextView;
  @end

  _videoView.delegate = self;
  _videoView.enableFullscreenButton = YES;
  _videoView.enableCardboardButton = YES;
  _videoView.enableTouchTracking = YES;

我不明白为什么它在一种情况下有效,而在另一种情况下无效。故事板中的所有内容都相互关联。

这快把我逼疯了。请帮忙!

【问题讨论】:

  • 您正在为您的videoView 出口分配UIView,而不是GVRVideoView。
  • 您是否在情节提要的视图类中设置了 GVRVideoView 类?能否请您发布更多 GVRVideoView 类的代码?
  • 是的,它是一个连接到 IBOutlet videoView 的 GVRVideoView 类型的 UIView 自定义类。
  • 不,您还没有为插座分配GVRVideoView。你已经分配了一个普通的UIView。这就是错误告诉你的内容。
  • 请解释一下。

标签: ios objective-c xcode


【解决方案1】:

这样试试

在 Scrollview 中打开 storyboard 选择视频视图,然后选择自定义类。然后将类名命名为 GVRVideoView。

【讨论】:

  • 感谢视觉反馈。我从示例代码中复制了代码和视图控制器。它仍然不起作用。同样的错误。
猜你喜欢
  • 2013-12-26
  • 2012-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-05
  • 2012-02-21
  • 2015-08-02
相关资源
最近更新 更多