UITableView中的可重用单元格

时间:2013-04-19 11:53:17

标签: iphone ios uitableview reuseidentifier

我正在使用UITableView和一个checkbox的自定义单元格。 我有超过1节。当检查第一部分中的复选框时,例如行= 0且部分= 0的单元格,我保存数据并且它可以工作。但是行中的单元格= 0且部分= 1也被检查!我如何区分这些部分?

非常感谢你!

2 个答案:

答案 0 :(得分:3)

以下示例代码将帮助您了解您的情况。

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

    CustomCell *cell = (CustomCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
       cell = (CustomCell *) [[[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil] objectAtIndex:0];
       cell.selectionStyle = UITableViewCellSelectionStyleNone;
    }
    cell.checkBox = [self fillCheckBoxStatus:indexPath];//This method will say about check box whether going to SET or NOTSET. 
    //...
    return cell;
}

答案 1 :(得分:-2)

dequeueReusableCellWithIdentifier用于nil,如下所示......

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

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:nil];
    if (cell == nil) {

    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:nil] autorelease];
      ////you another code..
   }
  return cell;
}