2010-12-27 11 views
0

私は21個のデータ項目を持つ配列(resultArray)を持っています。私は異なる行数を持つ8つのセクションテーブルにそれを表示したい。iPhoneの異なるセクションに1つの配列値を割り当てます。

どのようにすべての行に正しく値を割り当てるか? indexpath.rowとsection.rowの両方が間違った値を返します。より多くのセクションでグループ化されたテーブルに単一の配列値を割り当てる方法?

+0

perticularセクションの行数とその変更方法を具体的に説明してください。 – dks1725

答えて

0

私はこれのために多層アレイを作成します。第1のレベルはセクションカウントであり、第2のレベルは行である。次のようにあなたのcellForRowAtIndexPath:の配列から値を取得し

resultArray{ 
    1 = { 
     1 = first row in first section, 
     2 = second row in first section 
    }, 
    2 = { 
     1 = first row in second section, 
     2 = second row in second section 
    } 
} 

:配列は次のようになります

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    NSArray *sectionArray = [returnArray objectAtIndex:indexPath.section]; 
    cell = [sectionArray objectAtIndex:indexPath.row]; 
} 
1

テーブルビューにデータモデルをマッピングするのはあなた次第です、あなたはあなたが望むどんな方法でも行うことができます。アイテムのフラットな配列を持ち、テーブルビューの異なるセクションにマップしたい場合は、結果データのどのオフセットがテーブルのどのセクションに入るのか知る必要がありますが、誰も自動的にそれを行うことはできませんなぜならあなたはデータの意味を知っているからです。セクションと行のインデックスを取得するコードが必要で、結果配列のどのインデックスを返す必要があるのか​​がわかります。

いつも同じ項目のマッピングであれば、テーブルや大きな束のifステートメントのマッピングをハードコーディングしても問題ありません。動的な場合は、マップする方法に応じて、他のルックアサイドマッピングテーブルが必要になります。

最後に、@ iPortableの示唆しているように、データに応じてコントローラロジックをシンプルにする結果データを適切に構成する方法を見つけることもできます。

関連する問題