UITableViewController节和行

时间:2014-03-12 05:45:05

标签: ios objective-c uitableview

我有一个带有自定义节标题的UITableViewController,因为我将numberOfSectionsInTableView:设置为return [self.uploads count];而我的numberOfRowsInSection:设置为return 1;我从{{1}获得了所有内容我运行应用程序时设置正确,但{I}运行应用程序时viewForHeaderInSection:总是得到相同的值,因为indexPath只获得1个值(由于cellForRowAtIndexPath:返回1)。

在我的标题中,我收到正确的信息,但每个部分的单元格相同:

例。
(第1节)用户名:John
(单元1)姓:史密斯

(第2节)用户名:Maria
(单元1)姓:史密斯

(第3节)用户名:迈克尔
(单元1)姓:史密斯

如果我将numberOfRowsInSection:的值设置为numberOfRowsInSection,我会得到以下输出:

实施例。
(第1节)用户名:John
(单元1)姓:史密斯
(单元2)姓:威廉姆斯
(单元3)姓:Peters

(第2节)用户名:Maria
(单元1)姓:史密斯
(单元2)姓:威廉姆斯
(单元3)姓:Peters

(第3节)用户名:迈克尔
(单元1)姓:史密斯
(单元2)姓:威廉姆斯
(单元3)姓:Peters

我想要的实际输出是:
(第1节)用户名:John
(单元1)姓:史密斯

(第2节)用户名:Maria
(单元2)姓:Williams

(第3节)用户名:迈克尔
(单元3)姓:Peters

请帮忙吗?

编辑:

这是我的代码:

return [self.uploads count]

2 个答案:

答案 0 :(得分:2)

尝试在cellForRowAtIndexPath:中设置lastNameLb,如下所示:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

    PFObject *audio = [self.uploads objectAtIndex:indexPath.section]; //indexPath.section

    UILabel *caption = (UILabel *)[cell viewWithTag:207];
    caption.text = [audio objectForKey:@"caption"];

    return cell;
}

请注意,索引为indexPath.section,而非indexPath.row

答案 1 :(得分:1)

在cellForRowAtIndexPath中:您只检查indexPath.row。 indexPath有两个要检查的值:indexPath.section和indexPath.row。检查section属性的值以选择正确的“lastname”属性。