4

私はios7を使用しています。

簡単な質問です。dequeueReusableCellWithIdentifier:forIndexPath を使用して、2 つの異なるプロトタイプを持つセルを表示する作業プログラムがあります。UITableView registerClass メソッドを使用したことはありません。

これは、細胞を再利用していないということですか? 私の考えでは、これは事実ではありません (以前の状態を保持するセルに関連するこのアプリのバグを以前に修正したため)。

実際に現在 (tableVieW の viewDidLoad で) registerClass を使用している場合、データが表示されません。

ありがとうございました!

更新 次のように、viewDidLoad に registerClass コードを追加します。

[self.tableView registerClass:[ProtoCell1 class] forCellReuseIdentifier:@"proto1"];
[self.tableView registerClass:[ProtoCell2  class] forCellReuseIdentifier:@"proto2"];
4

1 に答える 1

8

ストーリーボード内のプロトタイプを使用してセルを作成する場合、クラスを登録する必要はありません。

使用する

 registerClass:forCellWithReuseIdentifier

Interface Builder で既に宣言されている場合、ビューがレンダリングされないようにします。ストーリーボードにセル識別子を登録し、使用している場合

  dequeueReusableCellWithReuseIdentifier: 

次に、セルを再利用する必要があります

于 2013-10-10T20:33:15.823 に答える