如何分组UITableView单元格

时间:2013-08-17 12:27:25

标签: iphone objective-c uitableview grouped-table

我正在尝试制作一个tableview,将单元格拆分为uitableview分组的部分。我环顾四周,发现如何将它分成几个部分虽然我坚持让它们出现在组中,而不是三个组,每个组中包含所有单元格,这就是我现在拥有的这就是我所拥有的在做了一些研究后到目前为止:

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell = nil;
    if ([indexPath section] == 0) {
        if (indexPath.row == 0) {
            cell = cell1;
        } else if (indexPath.row == 1) {
            cell = cell2;
        } else if (indexPath.row == 2) {
            cell = cell3;
        }   
    }
    if ([indexPath section] == 1) {
        if (indexPath.row == 0) {
            cell = cell4;
        } else if (indexPath.row == 1) {
            cell = cell5;
        } else if (indexPath.row == 2) {
            cell = cell6;
        }
    }
    if ([indexPath section] == 2) {
        if (indexPath.row == 0) {
            cell = cell7;
        }
    }
    return cell;
}

虽然当我运行并转到此视图时,应用程序崩溃,并且在nslog框中出现此错误:

*** Assertion failure in -[UITableView _configureCellForDisplay:forIndexPath:], /SourceCache/UIKit_Sim/UIKit-2380.17/UITableView.m:5471

提前致谢

1 个答案:

答案 0 :(得分:1)

每个新部分的行索引从零开始。

例如:

if ([indexPath section] == 2) {
    if (indexPath.row == 3) {

应该是:

if ([indexPath section] == 2) {
    if (indexPath.row == 0) {

此外,段索引也从零开始,因此您可能希望减少if语句中的每个索引。