NSBundle 未加载 - 目标 C

Posted

技术标签:

【中文标题】NSBundle 未加载 - 目标 C【英文标题】:NSBundle is Not Loading - ObjectiveC 【发布时间】:2014-11-14 07:30:16 【问题描述】:

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

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
    if(self.webViewController == nil) 
        self.webViewController = [[WebViewController alloc] initWithNibName:@"WebViewController"
                                                                     bundle:[NSBundle mainBundle]];
    

谢谢。

【问题讨论】:

我猜它不在捆绑包中? 将捆绑包设置为 nil 可能会有用。 【参考方案1】:

我认为,您尚未为您的 nib 文件选择目标成员。 点击您的 nib 文件并检查您的 nib 文件的 Target 成员资格。

【讨论】:

【参考方案2】:

这是因为您的包中缺少名为 WebViewController 的 nib 文件。 为了让 WebViewController.nib 在你的包中生成,你需要创建一个名为 WebViewController 的 .xib 接口文件。

【讨论】:

【参考方案3】:

检查以下内容,

    WebViewController.xib 存在于您的项目中并且在代码中拼写正确,请检查 xib 名称是否与您的代码中的名称相同。如果文件不存在,请添加它。如果拼写错误,请更新代码。

    Copy Bundle Resources中列出;如果不添加它。

【讨论】:

以上是关于NSBundle 未加载 - 目标 C的主要内容,如果未能解决你的问题,请参考以下文章

无法在 iphone 单元测试中从 NSBundle 加载文件

使用 [NSBundle loadNibNamed:owner:] 加载 NIB,但窗口未出现在前台

NSBundle - (尚未加载)错误

使用未声明的标识符“NSBundle”

NSBundle 加载一个 NSViewController

未找到 NSBundle mainBundle