1

彼女は私たちがしなければならないことです:

  • tableView コア データのデータ ソース。
  • 5 つの異なるタイプのカスタム tableViewCell を含む tableView。
  • すべての tableViewCell は他とは完全に異なります。
  • 一部の tableViewCell には、progressBar があります。

3 つのソリューションがあります。

  1. 一意の再利用識別子を持つ一意の tableViewCell を使用します。
  2. 5 つの再利用識別子を持つ一意の tableViewCell を使用します。
  3. 5 つの tableViewCell と 5 つの再利用識別子を使用します。

最初のソリューションをテストします。iPhone 5/iPhone 4S では問題ありませんが、iPhone 4 では遅いです (3GS もサポートする必要があります ...)。

質問: どちらのソリューションが優れているか? または、他の解決策があればそれは素晴らしいことです。

好意:最初のセルが割り当てられたとき、それらが再利用されたとき(1と異なる再利用識別子で)、それらが割り当て解除されたときのように、再利用識別子がどのように機能するかを説明できますか(詳細をお願いします:))?

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

4

2 に答える 2

0

これは私の解決策であり、3gs で問題なく動作します。セルの複雑さと [cell load] メソッドで行うことの数に依存します。そこでは for/while ループを避けるようにしてください。

    if(indexPath.row == 0){

        static NSString *CellIdentifier = @"HeadCell";
        kHeaderCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        [cell load];
        return cell;
    }
    if(indexPath.row == 1){
         static NSString *CellIdentifier = @"HistCell";
         kHisoryCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        [cell load];
        return cell;
    }

...等々

于 2013-08-30T11:40:07.633 に答える