无法在捆绑中加载NIB - 需要灵感

时间:2012-02-23 13:30:02

标签: iphone xamarin.ios nib

我目前看到这个错误:

  

MonoTouchException:抛出Objective-C异常。名称:   NSInternalInconsistencyException原因:无法在bundle中加载NIB:   'NSBundle< / Users / imac / Library / Application Support / iPhone   模拟器/ 5.0 /应用/ 5D8B4B51-9FB2-4331-BFEB-B1A0AC77DF42 / Tutorial.app>   (加载)'名称'MyFirstView'

我查看了许多其他问题,如:

但我看不到任何适用于此 - 它们主要是关于文件命名问题,我的Nib似乎在输出包文件中具有正确的名称。

我正在使用MonoTouch 5.2.5和xcode 4.2,并定位SDK5

有没有人对我可以尝试解决这个问题有任何想法?

3 个答案:

答案 0 :(得分:1)

我今天遇到了同样的问题。我重构(重命名)viewController到myCustomViewController并得到此错误。当我搜索我的项目文件时,我看到我使用了self.viewController = [[[MyTableViewController alloc] initWithNibName:@"viewController" bundle:nil] autorelease];

NibName已更改但在@“”中它是旧名称。所以我把它改成了

self.viewController = [[[MyTableViewController alloc] initWithNibName:@"MyTableViewController" bundle:nil] autorelease];

并删除了错误。这样做,希望你的错误将被删除。 如果它有帮助就投票。

答案 1 :(得分:1)

问题最终似乎在扩展工具链中的某个地方 - 介于MonoDevelop,xCode4和模拟器之间。

重新启动所有内容,并重置模拟器可以解决问题。

后来在同一个链中我看到“旧的NIB文件出口”的小问题在模拟器上持续存在,即使我已经完全删除并重建了 - 所以某些地方仍然出现问题...但是一个干净的解决方案它每一次。

答案 2 :(得分:0)

所以我在MonoDevelop中有类似的解决方案。我创建了一个空的单声道触摸项目。当我删除与自动创建的项目关联的xib文件时,我遇到了问题。即使我创建了一个新视图并将插座连接到该控制器,我还是必须返回并重新创建与控制器相关联的xib文件(具有相同名称),然后通过插座连接原始视图和控制器