为什么我在运行iPhone应用程序时仍会出现此错误?该文件是我一直在努力删除和替换的ViewController,但它不会死.据我所知,我的项目中没有任何引用(字符串或其他)此文件.
还有其他想法吗?我花了太多时间试图弄清楚这个简单的事情; 我肯定错过了什么.
谢谢!
在最近两天的时间里,我在多台机器上尝试后,我终于解决了问题!我不会被挫败!
我将问题跟踪到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重新验证,是的,确实,该名称不存在任何内容.
它奏效了.在这个问题上花了好几天之后,我很确定界面构建器中有一个错误,但是我想重新审视这个问题来提交错误报告吗?绝对不...
| 归档时间: |
|
| 查看次数: |
9794 次 |
| 最近记录: |