iPhone HelpViewController 未声明(本函数中首次使用)

Posted

技术标签:

【中文标题】iPhone HelpViewController 未声明(本函数中首次使用)【英文标题】:iPhone HelpViewController undeclared (first use in this function) 【发布时间】:2010-11-04 00:04:15 【问题描述】:

我有一个奇怪的 XCode 项目编译问题。我有一个名为HelpViewControllerUIViewController 子类,它的创建方式与我添加到UITabBarController 的其他几个类似类相同。

编译时出现错误; HelpViewController undeclared (first use in this function) 当我尝试创建一个实例以添加到标签栏时。

如果我将类重命名为 GuideViewController(*.h、*.m、*.xib 文件名;所有出现在 .h 和 .m 中;#import "*.h"* alloc)编译成功但如果我重命名它回到HelpViewController 它再次失败并出现同样的错误。

我在开发文档中查找了HelpViewController,但找不到任何表明它是保留名称的信息。为什么这个特定的类名会导致错误?

【问题讨论】:

【参考方案1】:

听起来很像#import 缺失或不正确。但看起来你已经涵盖了这一点。确保你对项目进行了清理(或删除构建目录),它可能是旧的工件妨碍了。

【讨论】:

正是我的想法,因为我在其他视图控制器上遇到了该错误并添加#import 修复了这些错误。以为我打错了,但所有语法突出显示都正确显示,并且 #import 文件已预先填充,因此它可以找到头文件。只是做了一个完整的清理,然后改回帮助*,然后再次清理,仍然得到相同的构建错误。现在我只使用一个不同的名字,但这对我的强迫症没有得到我想要的名字没有帮助。【参考方案2】:

原来我的 XCode 项目一团糟。当我在某个时候删除了我的 *ViewController 类时,我选择了只删除引用而不将文件移动到垃圾箱。这删除了对文件所有者的视图出口的引用,这在 Interface Builder 中可能被视为警告。缺少正确的视图引用阻止了 ViewController 的使用(视图控制器也是视图)。由于文件仍然存在于文件系统中(但未在 XCode 项目中显示),因此它们编译得很糟糕。我删除了这些文件并选择将它们移动到垃圾箱,然后从头开始重新创建它们。

【讨论】:

以上是关于iPhone HelpViewController 未声明(本函数中首次使用)的主要内容,如果未能解决你的问题,请参考以下文章

删除子视图并将控制权发回

推送 UIViewController 时如何更改 TabBarItens?

元素在运行时不保留其 Storyboard 可访问性标识符或类型

iPhone 各大机型设备号

苹果手机型号对应表

在 iphone 5 和 iphone 6 中动态设置字体大小