无法使用新数据更新单元格(cell!= nil)

时间:2016-02-12 12:52:27

标签: ios objective-c uitableview

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

    if (cell == nil)
    {
        cell = [[CustomCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
        [cell addButtons:buttonsArray];
    }

    [cell renderCell:[self.dataArray objectAtIndex:indexPath.row]];
    return cell;
}

viewDidAppear 上更改了buttonArray,因此我想使用new buttonArray更新我的单元格。我使用的是[tableView reloadData],但是(cell != nil)我无法更新

1 个答案:

答案 0 :(得分:4)

我的建议是,如果单元格为零,则可以添加按钮,并在if条件之外更改按钮的数据

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

if (cell == nil)
{
    cell = [[CustomCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    [cell addButtons:buttonsArray]; // add the buttons
}
[cell updateButtonData:dataArray]; // update the data on the button
[cell renderCell:[self.dataArray objectAtIndex:indexPath.row]];
return cell;
}