我做了一個應用程序,它從互聯網下載JSON列表並將JSON列表添加到UITableView。內容在UITableView中後,我們開始通過GPS尋找用戶。我希望UITableView在距離行內容後重新排列。UITableView按照編號重新排列單元格後加載
我得到了每行的距離,但我不知道在距離之後重新排列和排序。
任何提示?
我做了一個應用程序,它從互聯網下載JSON列表並將JSON列表添加到UITableView。內容在UITableView中後,我們開始通過GPS尋找用戶。我希望UITableView在距離行內容後重新排列。UITableView按照編號重新排列單元格後加載
我得到了每行的距離,但我不知道在距離之後重新排列和排序。
任何提示?
如果你有一個數組,該數組包含您想進行排序的值,你可以調用
- (NSComparisonResult)compare:(tableDataObject *)otherObject {
return [self.distance compare:otherObject.distance];
}
//NSArray *sortedArray;
tableData = [tableData sortedArrayUsingSelector:@selector(compare:)];
一旦你有你的有序陣列中的所有你需要做的就是調用-reloadData
上你的桌子,它會根據你的價值觀來表格。 (你需要確保你的陣列到你的tableview使用的數組排序)
你也可以做這一切的一個UITableViewAnimation塊的內部,使得它的動畫很喜歡...
[myTableView beginUpdates];
[myTableView reloadData];
[myTableView endUpdates];
我建議在接收到更新信息後重新加載表格:每次從GPS接收到更新信息時,都必須按距離排序數據陣列。
現在您已經有了一個新的已排序數組,您可以重新加載表格,它將顯示已排序的單元格。
它在一個NSMutableDictionary – Hedam
'sortedArrayUsingSelector'返回一個NSArray(不可變),所以你可能需要根據排序後的返回值創建一個新的可變數組。 – Putz1103