- (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已更改,因此我想用新的buttonArray更新单元格。我正在使用[tableView reloadData],但作为(cell != nil)我无法更新

最佳答案

我的建议是,如果单元格为nil,则可以添加按钮,并且可以在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;
}

10-08 05:55