cellForRowAtIndexPath忽略部分

时间:2018-10-22 12:05:12

标签: objective-c uitableview

在我的UITableViewController中,我定义了3个部分。但是,如果我想访问cellForRowAtIndexPath方法中比第一个方法更多的部分,则将其忽略。例如,如果我想在第二部分中添加一行。有谁能解决这个问题?

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
   return 3;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

if (indexPath.section == 0) {
    if (indexPath.row == 0) {
        ..
        return cell;
    }
    if (indexPath.row == 1) {
        ..
        return cell;
    }
    if (indexPath.row == 2) {
        ..
        return cell;
    }
}
if (indexPath.section == 1) {
            UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:aufgabe];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:aufgabe];
    }
    [cell.textLabel setText:@"Test"];
    }
}
else if (indexPath.section == 2) {
    UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:geraet];
    return cell;
}
   return nil;
}

1 个答案:

答案 0 :(得分:-1)

好笑!我自己修复了。我必须填写numberOfRowsInSection方法。

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
   if (section == 0) {
       return 3;
   }
   if (section == 1) {
       return 5;
   }
   else {
       return 0;
   }
}