0

我有一个使用自定义表格视图单元格的 UITableViewController(我已经为我的自定义 UITableViewCell 子类创建了一个 XIB)

当我的应用程序尝试加载表视图控制器时,它会崩溃并出现以下错误:

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle </Users/CoolDocsMan/Library/Application Support/iPhone Simulator/5.1/Applications/Z7BB7085F-37A7-4B92-89A3-37EC34531B08/FunkySpaces.app> (loaded)' with name 'AdminConfirmTableViewCell''

根据文章Could not load NIB in bundle中的建议之一,我通过浏览以下内容检查了我的库中的app 文件夹:

/Users/CoolDocsMan/Library/Application Support/iPhone Simulator/5.1/Applications/Z7BB7085F-37A7-4B92-89A3-37EC34531B08/FunkySpaces.app

我对其他类似的 tableVCs 使用相同的技术,但发现虽然所有其他 XIB 文件都被正确翻译成 .nib,但这个特定的 tableview 单元格 XIB 在其末尾被翻译了一个额外的空间。

即“AdminConfirmTableViewCell .nib”而不是“AdminConfirmTableViewCell.nib”

我在 XCode 中进行了全局搜索,看看我是否打错字并在 AdminConfirmTableViewCell 之后插入了一个额外的空格,但没有找到。

下面是来自 tableVC 的 ViewDidLoad 的部分代码,其中包含 AdminConfirmTableViewCell:

//Load the NIB file
UINib *nib = [UINib nibWithNibName:@"AdminConfirmTableViewCell" bundle:nil];

//register this NIB whch containes the cell    
[[self tableView] registerNib:nib forCellReuseIdentifier:@"AdminConfirmTableViewCell"];

谢谢!

4

2 回答 2

0

this is my first answer in stack overflow! How about trying this, obviously customising to your needs

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

RootViewController *addController = [[RootViewController alloc]
                                      initWithNibName:@"nibnamehere" bundle:nil];

UINavigationController *navigationController = [[UINavigationController alloc]
                                                initWithRootViewController:addController];
[self presentModalViewController:navigationController animated:NO];

[navigationController release];
[addController release];

}

于 2013-01-24T22:38:19.650 回答
0

我终于发现了问题,现在明白了为什么我扫描代码时它没有出现。问题实际上在于我在界面构建器中的身份检查器下为我的自定义 UITableView 单元(AdminConfirmTableViewCell)指定自定义类的方式。

我在自定义类下的 Identity Inspector 中拼写了 'AdminConfirmTableViewCell ',末尾有一个额外的空格......因此 AdminConfirmTableViewCell.xib 的这个名称带有额外的空格(见屏幕截图......),在构建时,XCode 将其翻译成一个 NIB 文件作为 'AdminConfirmTableViewCell. nib' 有一个额外的空间。

删除多余的空间后,一切都解决了!在 Interface Builder 实现中留下这个空白似乎与 Apple 完全不同,这使得开发人员可能会犯这类错误。

在此处输入图像描述

于 2013-01-25T16:43:00.003 回答