为iPhone中的不同部分指定单个数组值

为iPhone中的不同部分指定单个数组值,iphone,uitableview,Iphone,Uitableview,我有一个数组(resultArray),其中包含21项数据。我想把它显示在一个8段的表格中,表格中有不同的行数 如何在所有行中正确分配值?indexath.row和section.row都给出了错误的值。如何将单个数组值分配给包含更多节的分组表?我将为此创建一个多层数组。第一级是节计数,第二级是行。阵列的外观如下所示: resultArray{ 1 = { 1 = first row in first section, 2 = second row in

我有一个数组(resultArray),其中包含21项数据。我想把它显示在一个8段的表格中,表格中有不同的行数


如何在所有行中正确分配值?indexath.row和section.row都给出了错误的值。如何将单个数组值分配给包含更多节的分组表?

我将为此创建一个多层数组。第一级是节计数,第二级是行。阵列的外观如下所示:

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
    }
}
然后从
cellForRowatineXpath:
中的数组中获取值,如下所示:

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

将数据模型映射到表视图由您自己决定,您可以按照自己的方式进行映射。如果您有一个扁平的项目数组,并且希望将它们映射到表视图的不同部分,那么您必须知道结果数据的哪些偏移量进入表的哪些部分,但是没有人可以自动为您这样做,因为只有您知道数据的语义。您需要一些代码来获取节和行索引,并确定需要返回结果数组中的哪个索引

如果总是21个项目并且总是相同的映射,那么在一个表或一大堆
If
语句中对映射进行硬编码可能很好。如果它是动态的,那么您需要一些其他的lookaside映射表,这取决于您想要映射的方式


最后,正如@iPortable所建议的,您还可以找到一种方法来适当地构造结果数据,这使得控制器逻辑简单,具体取决于您的数据。

请提供更多具体细节,说明您如何决定相应部分中的行数以及如何更改。。