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''

投稿の提案の1つに従って、バンドルにNIBを読み込めませんでした。次の内容を調べて、ライブラリのアプリフォルダーを確認しました。

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

他の同様のtableVCにも同じ手法を使用していますが、他のすべてのXIBファイルが.nibに適切に変換されている間に、この特定のテーブルビューセルXIBの最後に余分なスペースが追加されていることがわかりました。

つまり、「AdminConfirmTableViewCell.nib」ではなく「AdminConfirmTableViewCell.nib」

XCodeでグローバル検索を実行して、タイプミスを行い、AdminConfirmTableViewCellの後に余分なスペースを挿入したかどうかを確認しましたが、見つかりませんでした。

AdminConfirmTableViewCellを含むtableVCのViewDidLoadからのコードのセクションは次のとおりです。

//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

これはスタックオーバーフローでの私の最初の答えです!これを試してみてはどうですか、明らかにあなたのニーズに合わせてカスタマイズしてください

- (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

私はついに問題を見つけ、コードをスキャンしたときになぜそれが表示されなかったのかを理解しました。この問題は、実際には、InterfaceBuilderのIdentityInspectorでカスタムUITableViewセル(AdminConfirmTableViewCell)のカスタムクラスを指定した方法にあります。

カスタムクラスの下のIdentityInspectorの最後に余分なスペースを付けて「AdminConfirmTableViewCell」と綴っていました...したがって、AdminConfirmTableViewCell.xibはこの名前に余分なスペースを付けて(スクリーンショットを参照...)、ビルド中にXCodeはこれを次のように変換しました'AdminConfirmTableViewCellとしてのNIBファイル。余分なスペースのあるペン先。

余分なスペースを取り除くと、すべてがうまくいきました!AppleがInterfaceBuilderの実装にこのギャップを残しているのとはまったく異なり、開発者はこの種のエラーを引き起こす可能性があります。

ここに画像の説明を入力してください

于 2013-01-25T16:43:00.003 に答える