无法在Xcode Storyboard中为ViewControllers选择自定义类

时间:2013-09-29 14:10:36

标签: cocoa-touch viewcontroller

我刚刚将Xcode升级到5.0。我对可可还是比较新的所以我希望我忽略了一些基本的东西。基本上我不能让Xcode看到我想用作视图控制器的父类的自定义类。最初我想为tableview控制器创建一个自定义类,但为了简化问题,我尝试使用常规的viewcontrollers,但这也不起作用。

我的所作所为:

  • 创建新项目:单一视图应用程序
  • 为它添加一个cocoa类(File-> New-> File-> Objective-C class。我将它命名为MyViewController并使其成为UIViewController的子类
  • 我在故事板中选择项目模板附带的默认视图,在Identity检查器中,我尝试在Custom Class下选择MyViewController

该课程根本没有出现在下拉列表中,我也无法自己输入。报告相同问题的许多其他威胁建议关闭/重新打开项目和Xcode,但这对我来说都不起作用。

4 个答案:

答案 0 :(得分:19)

当您进入故事板,Xcode的Interface Builder时,请确保单击视图下方的黑色条:

enter image description here

这将选择故事板中的视图控制器(而不是视图)。注意整个场景周围是否有蓝色边框。选择此选项后,您可以在Identity Inspector中设置视图控制器的类。

答案 1 :(得分:7)

另外,请确保故事板中的视图控制器类型(例如TableViewController)与视图控制器超类(例如TableViewController)匹配。否则,它将不会显示在可供选择的类列表中。

答案 2 :(得分:6)

我终于解决了它。您必须保存您的工作并退出xcode。但是看起来不要关闭,你必须退出 xcode。

再次运行xcode时,您将看到刚刚创建的viewcontroller。

答案 3 :(得分:0)

对我来说,问题是我的班级从另一个框架扩展了一个班级,明确包含了包名称,例如:

class BaseMessageController: MessageKit.MessagesViewController

此修复程序删除了框架名称:

class BaseMessageController: MessagesViewController

可能是Apple的错误。