【问题标题】:crash due to "Could not load NIB in bundle"由于“无法在捆绑中加载 NIB”而崩溃
【发布时间】:2011-10-06 00:43:40
【问题描述】:

在我的应用中有一个PointMode 按钮。当我点击它 10 到 11 次时没有问题,视图就会出现。但是之后,它会产生这个错误:

由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序, 原因:'无法在包中加载 NIB:'NSBundle (已加载)' 名称为 'PWPointMode''

我这样称呼那个视图。

PWPointMode *pointController = [[PWPointMode alloc]initWithNibName:@"PWPointMode" bundle:nil];
    self.objPointMode = pointController;
    [self.navigationController pushViewController:objPointMode animated:YES];
    [pointController release];

我的应用是通用应用

【问题讨论】:

  • 我添加了 sn-p 用于调用(分配)该视图...

标签: iphone xcode iphone-sdk-4.1


【解决方案1】:

您可能打错了 NIB 名称,请检查一下。还要验证此文件是否包含在应用程序包中。在“复制捆绑资源”构建阶段。

【讨论】:

  • 他提到它在错误出现后工作了 10-11 次。所以他不可能输错xib名称。
  • @Rahul,日志信息很明显,Harin 可以说任何话。无论如何,感谢您的投票
  • @vince,Rahul 是对的。没有输入错误的 xib。否则它不起作用..感谢您的回答..请如果您有任何想法,请告诉我
  • @Harin,问题出在其他地方。你的代码是完全正确的,你也保证了笔尖的名字
【解决方案2】:

@Vince 是对的。防止拼写错误的最佳方法是使用

NSStringFromClass([myVCIvar class]);

在推送之前尝试自动释放 viewController,因为当我收到该问题时,我会自动释放实例,然后推送它并且它可以工作。

【讨论】:

  • 应该是 UIViewController。
  • @XcodeDev 他提到它在错误出现后工作了 10-11 次。所以他不可能输错xib名称。
  • 这只是文斯点的一个插件。因此,-1 无关紧要。此外,文斯说你“可能”打错了,而不是打错了。
  • 它可能是一个错误命名的 nib,无论是在代码中还是在实际文件中。顺便说一句,如果它确实与类命名相同,您可以使用 initWithNibName:nil 自动使用当前类名。
  • @Peter DeWeese 我的应用程序是通用应用程序,而不是如何区分 xib。比?
【解决方案3】:

哈林

我向你展示了代码,你可以加载新视图或笔尖,但你在那里解释为 加载 10-15 次后查看您的应用程序将显示此消息,以便您 在 Performance Tool 中运行您的应用程序并检查是否泄漏了您的资源内存而不是 快满了。由于这个问题,您在应用程序崩溃时也会收到此错误消息。

也许这个对你有用……

【讨论】:

    猜你喜欢
    • 2012-07-24
    • 1970-01-01
    • 2011-11-07
    • 2012-06-01
    • 1970-01-01
    • 2017-11-01
    相关资源
    最近更新 更多