我有一个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];
之后强制进行新的字母排序的最佳方法是什么?
答案 0 :(得分:2)
在调用reloadData
之前,您首先需要更新表视图数据源和委托方法使用的所有数据。
您无需再次致电viewDidLoad
。将代码放在自己的方法中设置数据结构。然后,您可以从viewDidLoad
(如果需要)以及语言更改后调用reloadData
之前调用此设置方法。