2013-05-06 98 views
0

我有一個UITableView按字母順序顯示植物列表。在應用程序中,用戶可以更改語言。當語言改變時,方法:如何重新加載一個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];之後強制進行新的字母排序的最佳方法是什麼?

回答

2

在致電reloadData之前,您首先需要更新表視圖數據源和委託方法使用的所有數據。

您不需要再次致電viewDidLoad。把代碼設置在自己的方法中的數據結構。然後,您可以從viewDidLoad(如果需要)以及在語言更改後致電reloadData之前調用此設置方法。