0

以前にも同様の問題が投稿されたことは知っていますが、解決策が見つからないので、ご容赦ください...

xcode にカスタム テーブル セルを含むテーブルビューがあります。現在、セルはラベルにすぎません。

SiteFileCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
cell.fileNameLabel.text = [self.listDir.filesInfo objectAtIndex:indexPath.row];

これはうまくいきます。基本的に、ディレクトリのドリルダウン構造を行っています。セルを選択すると、新しいテーブルビューがナビゲーション コントローラー スタックにプッシュされ、すべてのテーブル セルがリロードされて、次のレベルに進みます。

この時点で、よく報告されるエラーが表示されます。

識別子 Cell を持つセルをデキューできません - 識別子の nib またはクラスを登録するか、ストーリーボードでプロトタイプ セルを接続する必要があります

したがって、次の調査では、タイプを登録する必要があるという提案が表示されます。

[self.tableView registerClass:[SiteFileCell class] forCellReuseIdentifier:@"FileCell"];

これを行うと、うまく機能しますが、どのセルにもラベルがまったく表示されません!

セルのクラスの initWithStyle メソッドでカスタム コードが必要になる可能性があるというリファレンスを見たことがありますが、そこで何が必要になるかがよくわかりません。

4

2 に答える 2

4

クラスを登録する代わりにnibを登録します。その nib は、テーブル ビュー セル サブクラスを設計した nib です。これには、最上位オブジェクトであるセルが 1 つだけ含まれており、そのセルは SiteFileCell として指定されています。プレスト、それはすべてうまくいくでしょう。

私の本の完全な説明 (ダウンロード可能なコード付き) を参照してください。

http://www.apeth.com/iOSBook/ch21.html#_custom_cells

特に参照してください。サブセクション「ペン先のセルを設計する」。

于 2013-04-04T14:06:00.000 に答える
0

セルに XIB を使用している場合は、XIB ファイルでのみ識別子を設定できます。

于 2013-04-04T14:05:57.700 に答える