【问题标题】:Xcode 5 does not recognize custom UIViewController subclass in storyboardXcode 5 无法识别故事板中的自定义 UIViewController 子类
【发布时间】: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


【解决方案1】:

经常发生,最简单的解决方法:退出 Xcode 并再次运行它。视图控制器现在应该是可见的。

【讨论】:

  • 加布里埃尔:感谢您的回答。这本身还不够(我在原帖中提到重启 Xcode 并没有解决它),但重启可能是答案的一部分,因为它最终确实开始工作了。感谢您的帮助!
  • 我想我会将此答案标记为已接受,因为它肯定是问题的一部分,我希望将问题标记为已解决。如果这不是正确的方法,请告诉我!
  • 就我而言,仅仅退出那个特定的项目是不够的。你真的不得不退出你在 Xcode 上的所有项目。并重新启动 xcode ... 叹息
  • 这个问题在 xcode 6 中仍然存在。Ffs Apple,如何在更新中实际修复一些东西,而不是让东西看起来更漂亮。
【解决方案2】:

这是偶尔发生的事情,我通常会忽略它,将名称复制并按 Enter,但如果它打扰您,您可以尝试清理并构建您的项目,应该开始显示然后清理:cmd + shift + k构建:cmd + b

祝你好运!

【讨论】:

  • 一些事件的组合最终确实让这个工作(希望我能说什么,但当它开始工作时我已经转向其他问题)。但是,即使在输入子类名称之后,一个简单的 clean + 重建是不够的(至少它自己),因为我仍然会得到无法识别的选择器错误。然而,最后,有些东西奏效了,因为错误最终确实消失了。感谢您的建议。
猜你喜欢
  • 1970-01-01
  • 2014-02-03
  • 1970-01-01
  • 2015-08-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多