Bem*_*mmu 11 iphone interface-builder xcode4
这与此处众多其他类似问题的情况不同.
*由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:' - [UIViewController _loadViewFromNibNamed:bundle:]加载了GameView笔尖,但未设置视图插座.
您可能会想"按照它说的那样,将文件所有者连接到IB中的视图!".但问题是,我甚至在项目中甚至在项目目录中都没有GameView.xib.
我的项目中有一个"GameViewController.m"和匹配的"GameViewController.xib".使用GameViewController会出现这个错误,但我不明白尝试加载"GameView.xib"的想法.它不应该使用"GameViewController.xib"吗?
如果我grep我的项目目录,我确实看到它引自"UserInterfaceState.xcuserstate".
<string>file://localhost/Users/bemmu/Dropbox/b2/iphone/ValleyStory/ValleyStory/GameView.xib</string>
这个提到的文件不存在.我之前可能有一个带有该名称的文件,并重命名/删除它,但它没有被我在IB中看到的任何地方引用.
我设法混淆了xcode吗?
bbr*_*ame 19
我的解决方案有点不同.
检查您正在使用的任何nib文件(如MainWindow.xib).如果要从笔尖加载GameViewController,请检查它正在加载的文件(在检查器的信息选项卡下).确保它设置为"GameViewController"而不是"GameView".
我也有这个问题,但必须以不同的方式解决它.基本上,我有一个视图控制器名称MainViewController,它有一个名为MainViewController.xib的xib.这个笔尖的视图属性设置为文件所有者,它是MainViewController.
我还创建了一个MainView.xib,其中包含一个视图,该视图将以编程方式添加到MainViewController.xib中定义的视图及其视图中.它基本上封装了一个内部视图,该视图将位于MainViewController.xib的视图中,并且还将其文件所有者设置为MainViewController.
所以基本上,我希望MainViewController.xib作为MainViewController对象的nib加载,而在MainViewController中,稍后,我会添加MainView.xib指定的内部视图.
出现了几个问题:
1.)我在Apple文档中发现通过storyboard或nib加载视图控制器时:
"如果视图控制器类名以单词"Controller"结尾,就像在MyViewController中一样,它会查找名称与类名匹配的nib文件,而不是"Controller",如MyView.nib中所示.
它查找名称与视图控制器类名称匹配的nib文件.例如,如果类名是MyViewController,它会查找MyViewController.nib文件."
因此,如果您还有一个名为MainViewController的nib并且希望MainViewController.xib成为MainViewController的主要nib,则不能有一个名为MainView.xib的nib.
2.)即使您删除MainView.xib或将其重命名为其他内容(本例中为MainInternalView.xib),您必须删除/清除iOS模拟器,因为旧的nib文件(MainView.xib)仍将保留在应用程序中.重建/重新运行应用程序时,它不会覆盖整个应用程序包.
如果您不想重置内容设置(可能需要保留一些数据),请右键单击iOS模拟器文件夹中的应用程序,显示包内容,找到MainView.nib,然后将其删除.重建时Xcode不会自动为您执行此操作,因此我们需要手动删除旧笔尖.
总的来说,不要将nib命名为MainViewController和MainView,即具有相同前缀的nib.将MainView.xib调用为其他内容,例如MainInternalView.xib.
| 归档时间: | 
 | 
| 查看次数: | 30890 次 | 
| 最近记录: |