如何在不重新加载Objective-C的行的情况下更改行中的特定元素?

时间:2018-11-24 11:32:47

标签: ios objective-c uiswitch

我想在UiSwitch中连续更新UITableView。我想通过编程动画来开启和关闭它。

    NSIndexPath *indexPath = [[NSIndexPath indexPathForRow:0 inSection:lastSelectedCardSectionNumber] retain];
    newCell *cell = (newCell *)[self.myTableView dequeueReusableCellWithIdentifier:@"newCell" forIndexPath:indexPath];
    [cell.switch1 setOn:YES animated:YES];

但是上面的那一行不会改变状态,我必须重新加载行,这不会使UiSwitch的状态随着动画而改变。


在开关的顶部有一个视图,用户可以点击它以更改开关的状态。但应该在某些情况下进行更改。因此,我不允许用户更改它,而要通过编程方式进行更改。

1 个答案:

答案 0 :(得分:1)

问题在于您如何获取dev。应该是:

cell

不是这个:

newCell *cell = (newCell *)[self.tableView cellForRowAtIndexPath:indexPath];

前者获取该单元格已经存在的实例,而后者获取该单元格的新实例。