tableviewcell中的数据正在重复

时间:2013-11-13 11:18:53

标签: ios uitableview reuseidentifier

REFeveItinerarioCell *cell = nil;
         cell=[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        NSDictionary *itemData = [self.tableDatawithcoordinate objectAtIndex:indexPath.row];


        if(cell==nil)
        {
            NSLog(@"New Cell");

            NSArray *nib=[[NSBundle mainBundle] loadNibNamed:@"REFeveItinerarioCell" owner:self options:nil];
            cell=[nib objectAtIndex:0];

 //my code for filling tableview           
}

大家好, 像上面一样,我填写了tableview。但是在一些值之后,相同的值正在重复。可能是什么问题?

提前致谢

1 个答案:

答案 0 :(得分:0)

您应该使用tableview注册nib,可能在viewDidLoad:中注册:

[self.tableView registerNib:[UINib nibWithNibName:@"REFeveItinerarioCell" bundle:nil] forCellReuseIdentifier:@"CellIdentifier"];

然后你应该在你的cellForRow方法中这样做:

/**
 *  Asks the data source for a cell to insert in a particular location of the table view.
 *
 *  @param  tableView                   A table-view object requesting the cell.
 *  @param  indexPath                   An index path locating a row in tableView.
 *
 *  @return An object inheriting from UITableViewCell that the table view can use for the specified row.
 */
- (UITableViewCell *)tableView:(UITableView *)tableView
         cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell               = [tableView dequeueReusableCellWithIdentifier:@"CellIdentifier" forIndexPath:indexPath];

    //  do any of the configuration

    return cell;
}

某些单元格数据相同的原因是因为UITableViewCells正在被重用。这意味着先前的单元格及其属性正在重新用于新单元格。你应该小心并设置你不想要的任何属性。