UITableViewCell自定义,更新UILabel

时间:2012-04-11 04:29:44

标签: objective-c uitableview

我有自定义UITableView和UIImageView,UILabel。在一些通知我需要更新UILabel而不是UIImageView。如果我喜欢这样:

[self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:idxCell inSection:0]] withRowAnimation:UITableViewRowAnimationFade];

单元格的所有内容都在更新,我对UIImageView有闪烁效果。 我这样做了:

MyTableViewCell *cell = (MyTableViewCell *)[self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:idx inSection:0]];
cell.counterLabel.text = [NSString stringWithFormat:@"%@", counter];

但我认为这不好,因为它不符合MVC模式。我想我应该更新我的Model对象。我需要建议,我该怎么做?

1 个答案:

答案 0 :(得分:0)

您应该从您获取数据的位置更新NSArray或NSDictionary。因为当你重新加载行时,它再次调用相同的字典或数组,并且具有相同的值。

didSelectRowAtIndexPath更新字典或数组 然后重新加载该行。

cellForRowAtIndexPath更新获取行数据的NSArray或NSDictionary。

可能有效