为什么我在运行iPhone应用程序时仍会出现此错误?该文件是我一直在努力删除和替换的ViewController,但它不会死。据我所知,我的项目中没有任何对该文件的引用(字符串或其他)。
还有其他想法吗?我花了太多时间试图弄清楚这个简单的事情;我一定错过了什么。
谢谢!
答案 0 :(得分:6)
检查您的笔尖或故事板,并确保您的课程都没有设置!
答案 1 :(得分:6)
我在最近两天的时间内在多台机器上尝试后,终于解决了问题!我不会被挫败!
我将问题跟踪到UINavigationController上的setViewControllers调用,该调用在应用程序初始化时调用。我总是被传递3个对象(导航控制器中有3个窗格)。即使我删除了第三个对象,如前所述,总会传入三个对象。前两个的类类型是正确的,但第三个只是一个UIViewController。奇怪的是,这个视图控制器有一个nibName,它对应于我之前删除的目标文件和Xib文件。当然,当在这个borked UIViewController上调用视图时,它会崩溃,因为相应的nib显然已被删除。请记住,使用grep在我的目录中找不到此对象或Xib的文本名称,因此我完全不知道在运行我的应用程序时它是如何形成的。
所以,我认为应用程序可能没有正确清理。我对此进行了双倍和三倍检查。我甚至验证了我的工作区设置是否正确(文件 - >项目设置 - >高级)。该应用确实每次都重新编译。
其次,我开始想到也许这个对象是通过其他方式设定的。向后工作,我添加了一些断点并发现在父UINavigationController上调用了initWithCoder - 这最终解决了调用对象上的setViewControllers并分配三个视图控制器(其中一个是有问题的)。我可以很容易地从调用堆栈中看到正在加载的Nib文件反序列化了令人反感的东西。
所以,我开始挖掘我的Xib文件。当然,对象名称不在文件中(正如预期的那样,因为grep没有找到任何内容)。我删除并重新创建了包含我的根UINavigationController的Xib部分。这最终改变了Xib文件中的Object ID和ref。 其次,我创建了一个新的Xib和UIViewController,其名称与我之前删除的名称相同,希望Xcode可能会很高兴,如果我创建然后重新删除它们。然后我编译,重新删除它们,再次由Xib文件更新,用grep重新验证,是的,确实,该名称不存在任何内容。
它有效。在这个问题上花了好几天之后,我很确定界面构建器中有一个错误,但是我想重新审视这个问题来提交错误报告吗?绝对不是......
答案 2 :(得分:2)
在我的情况下,我使用Custom class name of View
而不是Custom class of ViewController
来解决问题。我错误地将这样添加到视图中,如下所示。
它应该像这样的ViewController。
这是我的情况,因为你可能与另一个组件有关。
答案 3 :(得分:1)
当视图类在框架中时会发生这种情况。选择框架的模块。使用CocoaPod的示例:HSegmentControl。
答案 4 :(得分:0)
确保在添加或重命名或移动文件时(尤其是在文件夹中)时,请确保在添加文件时:
A。创建组,而不是通常不会读入的引用。
B。选中要向其添加源的“产品或目标”的框。
答案 5 :(得分:0)
另一种尝试:
我必须在“自定义类”的“模块”控制下切换“从目标继承”。