【问题标题】:Unrecognized selector for ViewController inside Container View容器视图中的 ViewController 无法识别的选择器
【发布时间】:2014-04-05 08:34:40
【问题描述】:

首先,这是 Storyboard 的基本设置

UIViewController > 视图 > 容器视图 -> UICollectionViewController

容器和 UICollectionViewController 之间的嵌入 segue 是“SegueA”。

现在目标 UICollectionViewController 是 CustomCollectionVC.h 的子类。

而且 CustomCollectionVC 有一个公共方法:

- (void)updateCollection:(NSArray *)data;

包含的 UIViewController 需要对 CustomCollectionVC 的引用,因此:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if([segue.identifier isEqualToString:@"SegueA"])
    {
        customCollection = (CustomCollectionVC *)segue.destinationViewController;
    }
}

然后,稍后(在加载了一些数据之后),我们调用:

[customCollection updateCollection:data];

但是,在这一点上,我得到了以下无益的错误:

-[UICollectionViewController updateCollection:]: unrecognized selector sent to instance 0x10bc73ef0

如果这意味着 customCollection 没有正确转换,那么我在 prepareForSegue 中做错了什么?

我见过很多人询问如何在容器内引用视图,他们都使用这种方法。

任何帮助将不胜感激!谢谢!

【问题讨论】:

  • 我怀疑您的故事板中没有将目标控制器标识为CustomCollectionVC。在执行(CustomCollectionVC *) 演员之前检查它的实际类。
  • 强制转换不会改变你的控制器的类,它只会告诉控制器你认为的类是什么。看起来您尚未将集合视图控制器的类更改为您的自定义类。
  • 在“实用工具”面板中仔细检查所有网点。无法识别的选择器通常链接到错误的插座。

标签: ios iphone objective-c uiviewcontroller


【解决方案1】:

好的,原来是一个非常简单的问题。正如 Philip Mills、rdelmar 和 Ivan Lesko 指出的那样,我忘记在 Storyboard 中设置 CustomCollectionVC。该死的。

【讨论】:

    猜你喜欢
    • 2018-05-05
    • 1970-01-01
    • 2011-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多