最初に UITableViewCell がこのように再利用のために登録されます
UINib *cellLoader=[UINib nibWithNibName:@"GroupCell_iPhone" bundle:nil];
[self.tableView registerNib:cellLoader forCellReuseIdentifier:@"GroupCell"];
次に cellForRowAtIndexPath デリゲートで
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
セルがデキューされる
GroupCell_iPhone *cell=(GroupCell_iPhone*)[self.tableView dequeueReusableCellWithIdentifier:@"GroupCell"];
次に、一連のUILabelおよびその他のオブジェクトが一連の基準に基づいて動的に作成され、このようにセルに追加されます
[cell.contentView addSubview:noActivityLabel];
この問題は、2 番目以降のセルがキューから取り出され、最初にキューから取り出されたセルから動的に追加されたオブジェクトを持っているように見える場合に発生します。最終的に、すべての細胞は異なります。キューから取り出されたセルは、UITableViewCell の 1 つのインスタンスへの「ポインタ」ですか? これらの後でデキューされたセルに、最初のコンテンツが含まれるのはなぜですか?
この場合、動的/変化するコンテンツを含むセルを作成するための最良のアプローチは何ですか? セルの新しいインスタンスを毎回作成する必要がありますか? デキューされたセルを「複製」できますか?
明確化: テーブル内のすべてのセルは基本レイアウトで始まりますが、そのセルに関連付けられたデータに基づいて、一意のコンテンツが各セルに追加されます。したがって、テーブル内のすべてのセルは一意です。つまり、セルにはさまざまなサブビュー (UILable、UIImageView など) があります。