2013-05-06 2 views
0

알파벳순 섹션으로 식물 목록을 표시하는 UITableView가 있습니다. 앱 내에서 사용자는 언어를 변경할 수 있습니다. 언어가 변경되면 다음 방법을 사용하십시오.UItableView를 행과 섹션으로 다시로드하는 방법

[self.tableview reloadData]; 

이제 동일한 식물이 새 언어로 표시됩니다. 문제는 행과 섹션이 손상되지 않고 이전 언어의 사전 순으로 정렬된다는 것입니다. 내가 봤 거든 및 위아래 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에 다시 전화 할 필요가 없습니다. 코드를 자체 메서드로 데이터 구조를 설정하십시오. 그런 다음 언어 변경 후 reloadData을 호출하기 직전과 마찬가지로이 설정 방법을 viewDidLoad (필요할 경우)에서 호출 할 수 있습니다.

관련 문제