2011-12-16 4 views
0

私のテーブルには約5つのセルがあり、それ以上のものはないと確信しています。私はまだセルを再利用するデキューメカニズムを実装する必要がありますか、またはすぐにセルを作成することはできますか?非常に少数のセルしか表示しない場合は、再利用可能なUITableViewCellsのデキューメカニズムを実装する必要がありますか?

UITableViewCell *cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil] autorelease]; 

答えて

2

あなたのケースでは、セルのキャッシュと再使用について心配する必要はありません。しかし、そうすることが "ベストプラクティス"です。セルを再利用するようにアプリケーションをコーディングし、後でアプリが変更され、セルが数個以上ある場合は、セルの再利用のメリットが得られます。とにかくこれによって余分なオーバーヘッドが追加されることはないので、あなたもそうかもしれません。か否か。それはあなた次第です!ポイントは:したくない場合は、しないでください。この場合、細胞を再使用しないことによる影響はほとんどありません。

+1

@マークに同意するが、私はベストプラクティスに従うのが一層難しい。この場合、余分なコードを書くのは避けています。ベストプラクティスに従えば、より良いコードを一般的に書くのに役立ちます。 – XJones

0

セルを再利用する必要はありません。アプリのパフォーマンスを向上させるだけです。 再使用しない細胞の量には何の害もありませんが、なぜあなたはそれをしませんか? これはあまりコードではありません(単純な呼び出し)、スケーラビリティがあります。

0

テーブルビューがスクロールしないときは、特にそうすることができます。 デキューメカニズムを使用するのは良い方法だと思いますが、将来的にセルを追加したいと思うかもしれませんし、最初に実装されていないと思っていないかもしれません。でも二行でそれを行うことができます(ただし、読み取りに混乱をだろう):

static NSString *Identifier = @"MyIdentifier"; 
UITableViewCell *cell = ((cell = [UITableView dequeueReusableCellWithIdentifier:Identifier]))?cell:[[UITableViewCell alloc] initWithStyle: UITableViewCellStyleDefault reuseIdentifier:Identifier]; 

二重括弧は、if文で割り当ての結果を使用するためのコンパイラの警告をサイレンシングするためのものです。 (私はこれをテストしなかったが、それはうまくいくはずだ)