【发布时间】:2014-06-07 11:19:08
【问题描述】:
我在 Xcode 5 中有一个故事板应用程序,其中包含许多自定义视图控制器和 segues,并且一切正常,除了一种情况。在这种情况下,我有一个“视图控制器场景”,我正在尝试使用自定义 UIViewController 子类。但即使我指定了子类,侧边栏中的条目仍称为“视图控制器场景”,并且该场景的视图控制器条目显示为通用的“视图控制器”(在其他情况下,场景标签为更改以反映子类,视图控制器条目也是如此)。
所以,Xcode 似乎不相信我已经为这个场景的 View Controller 指定了一个自定义类。如果只是混淆了界面构建器,那很好,但是当我运行代码时,当我 prepareForSegue: 为适当的 segue 时,destinationViewController 是 UIViewController,而我需要它是自定义子类。
我知道我的自定义类必须是 UIViewController 的子类,并且它是(尽管删除了几个步骤——也就是说,它是 UIViewController 子类的子类的子类)。
问题不在于无法识别自定义类的 Xcode 5 错误(自定义类字段的自动完成中确实显示了类名),并且自创建此自定义类以来,Xcode 已多次重新启动。
那么,我错过了什么?什么可能导致 Xcode 5 无法识别 UIViewController 的自定义类?
【问题讨论】:
-
我看到这种情况有时会发生。它通常通过清理、重建和重新启动 Xcode 的某种组合来清除。基本上 Xcode 没有找到您的自定义类声明(.h 文件)
-
如果这不能解决问题,请尝试从情节提要中删除 vc 并重新创建。
-
另一个长镜头,确保自定义类包含在构建目标中。我已经让它不受检查并以这种方式从雷达中消失。
-
为了呼应大卫所说的,我已经看过很多很多次了。首先尝试编译,如果不行就退出Xcode,如果不行就清理,退出,清理,编译。
-
您创建该 VC 时使用的确切名称是什么?如果我在 Xcode5.1 中以单词 Final 开头 VC 名称,它就不会出现在自定义类列表中。所以尝试不同的名称。
标签: ios objective-c xcode uiviewcontroller storyboard