XCode:重新加载UITableViewCell

时间:2013-02-22 12:16:06

标签: ios objective-c uitableview

我有一个UITableViewCell子类,带有标签,指示器视图等。我需要它来更新,因为从Web检索数据(特别是我有一个结果数量的标签)。

我用它来尝试重新加载单元格,但它不起作用。我知道正在调用cellForRowAtIndexPath,以及更新数据源本身的值。

[self.myFriendsTbl beginUpdates];
[self.myFriendsTbl reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationNone];
[self.myFriendsTbl] endUpdates];

3 个答案:

答案 0 :(得分:2)

[self.myFriendsTbl reloadData];

这将强制重新加载每个可见的UITableViewCell。将为每个人调用cellForRowAtIndexPath

答案 1 :(得分:2)

[self.myFriendsTbl reloadData];

答案 2 :(得分:0)

您不需要调用beginUpdates或endUpdates,因为您没有删除或插入单元格。

只需更改DataSource中特定行的数据并调用

即可
[self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationLeft];

正如你所做的那样。

如果它不起作用,您可能没有更改正确的行,或者您的indexPath不是正确的行。显示更多代码以检查它。例如,使用某种类型的动画,如#34; UITableViewRowAnimationLeft",将帮助您查看正在更改的单元格。