XCode正在尝试加载我从项目中删除的NIB文件

时间:2012-10-05 09:47:51

标签: iphone objective-c ios

我开始使用NIB文件处理视图,并决定从我的项目中删除它以编程方式构建它。在我的任何代码中都没有提到对NIB文件的调用,并且.XIB在任何应用程序目录中都不存在。这是从调试控制台向我抛出的确切错误。

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason:      
'-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "GESplitMainViewController"
nib but the view outlet was not set.' 

我无法理解为什么xcode仍在尝试加载NIB。

2 个答案:

答案 0 :(得分:11)

首先,如果你传递nil作为第一个参数,那么initWithNibName:bundle的{​​{1}}默认implementation搜索一个与视图控制器类共享同名的nib,这就是你的应用尝试的原因加载一个。

它找到一个的事实可能是因为你曾经在项目中拥有的.xib仍然包含在模拟器运行的包中。 Xcode习惯于将已删除的资源保留在模拟器包中,即使您从项目中删除它们也是如此。

如果从模拟器中删除应用程序,清理Xcode项目并再次运行,它应该停止尝试加载笔尖。

虽然这是你的应用从笔尖加载的原因,但这并不是它崩溃的原因。崩溃是因为您使用的旧.xib没有连接到视图控制器视图插座的视图。

答案 1 :(得分:0)

如果你没有在应用程序的任何地方使用nib名称,首先删除应用程序,清理你的构建并测试它,希望这能解决你的问题..