私は21個のデータ項目を持つ配列(resultArray)を持っています。私は異なる行数を持つ8つのセクションテーブルにそれを表示したい。iPhoneの異なるセクションに1つの配列値を割り当てます。
どのようにすべての行に正しく値を割り当てるか? indexpath.rowとsection.rowの両方が間違った値を返します。より多くのセクションでグループ化されたテーブルに単一の配列値を割り当てる方法?
私は21個のデータ項目を持つ配列(resultArray)を持っています。私は異なる行数を持つ8つのセクションテーブルにそれを表示したい。iPhoneの異なるセクションに1つの配列値を割り当てます。
どのようにすべての行に正しく値を割り当てるか? indexpath.rowとsection.rowの両方が間違った値を返します。より多くのセクションでグループ化されたテーブルに単一の配列値を割り当てる方法?
私はこれのために多層アレイを作成します。第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];
}
テーブルビューにデータモデルをマッピングするのはあなた次第です、あなたはあなたが望むどんな方法でも行うことができます。アイテムのフラットな配列を持ち、テーブルビューの異なるセクションにマップしたい場合は、結果データのどのオフセットがテーブルのどのセクションに入るのか知る必要がありますが、誰も自動的にそれを行うことはできませんなぜならあなたはデータの意味を知っているからです。セクションと行のインデックスを取得するコードが必要で、結果配列のどのインデックスを返す必要があるのかがわかります。
いつも同じ項目のマッピングであれば、テーブルや大きな束のif
ステートメントのマッピングをハードコーディングしても問題ありません。動的な場合は、マップする方法に応じて、他のルックアサイドマッピングテーブルが必要になります。
最後に、@ iPortableの示唆しているように、データに応じてコントローラロジックをシンプルにする結果データを適切に構成する方法を見つけることもできます。
perticularセクションの行数とその変更方法を具体的に説明してください。 – dks1725