意外删除了视图控制器。程序不会编译

时间:2013-03-21 17:05:10

标签: ios xcode class uiviewcontroller

我不小心删除了我的主视图控制器。我把它从垃圾桶中拿出来放回xcode但现在仍然有3个不同的错误

 "_OBJC_CLASS_$_ViewController", referenced from:
  _OBJC_CLASS_$_menuViewController in menuViewController.o


 "_OBJC_METACLASS_$_ViewController", referenced from:
  _OBJC_METACLASS_$_menuViewController in menuViewController.o

 error: linker command failed with exit code 1 (use -v to see invocation)

值得注意的是,menuViewController是来自主VC的后续VC

4 个答案:

答案 0 :(得分:2)

确保文件已正确定位。选择Xcode左侧的文件。然后查看文件检查器(“视图”,“实用程序”,“显示文件检查器”)。确保在目标成员资格下选中了正确的复选框。

答案 1 :(得分:1)

您需要从xcode的左侧再次选择已添加的文件,您将在右侧看到文件Inspector。您确保为特定控制器文件选择目标成员资格。请注意,您只能选择.m的目标成员资格而不是.h文件

enter image description here

在我的情况下,目标是 AttributeString ,因此如果您检查文件的相应目标,清理并构建项目并运行,它将解决您的问题。

答案 2 :(得分:0)

该错误表示链接器无法解析对已编译VC的引用。将文件重新导入Xcode时,请检查是否已将文件添加到正确的目标中。您可以在文件检查器(command-option-1)中看到这一点。

当我看到链接器错误(或任何其他类型的奇怪,Xcode - 你在做什么行为时,我应用“Clean”(命令移位-K)或“清理构建文件夹”(选项 - 命令转移-K)自由。

使用版本控制系统(Git或Subversion)可以避免这类问题。

答案 3 :(得分:0)

我的ViewController是否包含在项目的编译源构建阶段?

您可以在此处看到解释此问题的博客链接:

https://stackoverflow.com/a/10487025/2195998