如何使用行和节重新加载UItableView

时间:2013-05-06 16:11:13

标签: objective-c uitableview rows sections

我有一个UITableView按字母顺序显示植物列表。在应用程序中,用户可以更改语言。当语言改变时,方法:

[self.tableview reloadData];

现在以新语言显示相同的植物。问题是行和部分是完整的,并且仍然按照先前语言的字母顺序排序。我用Google搜索并上下读取stackoverflow以找到解决方案。我最接近的是:

[[self tableView]reloadData];
NSRange range = NSMakeRange(0, [self numberOfSectionsInTableView:self.tableView]);
NSIndexSet *sections = [NSIndexSet indexSetWithIndexesInRange:range];
[self.tableView reloadSections:sections withRowAnimation:UITableViewRowAnimationFade];

但是,我必须通过viewdDidLoad运行tableView来更改按字母顺序排序。

[[self tableview]reloadData];之后强制进行新的字母排序的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

在调用reloadData之前,您首先需要更新表视图数据源和委托方法使用的所有数据。

您无需再次致电viewDidLoad。将代码放在自己的方法中设置数据结构。然后,您可以从viewDidLoad(如果需要)以及语言更改后调用reloadData之前调用此设置方法。