0

次のように、ViewController(複数のビューおよびビューコントローラーを処理する)でTableViewControllerをプログラムで(xibまたはストーリーボードを使用せずに)作成しています。

- (void)viewDidLoad
{
    [super viewDidLoad];

    tableViewController = [[UITableViewController alloc]initWithStyle:UITableViewStylePlain];
    [self.view addSubview:tableViewController.tableView];
}

実行中、プログラムは次のエラーで停止します。

-[UITableView dequeueReusableCellWithIdentifier:forIndexPath:]、/SourceCache/UIKit_Sim/UIKit-2372/UITableView.m:4460 でのアサーションの失敗、キャッチされない例外 'NSInternalInconsistencyException' が原因でアプリを終了、理由: '識別子 Cell を持つセルをデキューできません - 登録する必要があります識別子のペン先またはクラス、またはストーリーボードのプロトタイプ セルを接続する」

デバッグすると、self.view に追加されたときに tableView が空白であることがわかります。

通常はnibファイルにあるtableViewの手動初期化を追加で行う必要がありますか?

4

1 に答える 1

0

私の質問を編集して答えてくれてありがとう。もっと注意深く読むと、エラーメッセージはそれを綴っています:「識別子のペン先またはクラスを登録するか、ストーリーボードのプロトタイプセルを接続する必要があります」. この詳細は、ガイド、サンプル、およびチュートリアルでほとんど言及されていません。

スタックオーバーフロー!そこにないなら、どこにもない!

于 2012-11-06T21:23:17.953 に答える