2017-08-04 25 views
-1

我正在實現一個應用程序,我需要顯示一個tableView。 tableView需要顯示json數據,並在右側按字母順序搜索,方法是單擊需要顯示以該字母開頭的數據的任何字母。我已經實現了垂直字母搜索,當用戶點擊任何字母時,它將用戶帶到特定的部分。但問題是我的json數據沒有得到排序。如何對json數據進行排序並按照字母順序在tableView中顯示

這是我的代碼。 //這裏ExhibitorArray包含了所有的信息來填充tableView中的數據。

NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"serverData" ascending:YES]; 
NSArray *sortedArray = [serverData sortedArrayUsingDescriptors:[NSArray arrayWithObject:sort]]; 
NSLog(@"Sorted Array:%@",sortedArray); 
+0

您需要顯示數組中至少一個元素(或者'serverData'的結構),並給出我們需要對數組進行排序的鍵。 – Larme

+0

我無法理解您的觀點,請您詳細說明 –

+1

什麼是'serverData'?它看起來像什麼? – Larme

回答

0
NSArray *unsortedStrings = @[@"Lamborghini", @"Lamborghini", @"InStyle",@"HSBC",@"Heineken"]; 
NSLog (@"unsorted = %@",unsortedStrings); 

NSArray *sortedStrings =[unsortedStrings sortedArrayUsingSelector:@selector(compare:)]; 

NSLog (@"sorted = %@",sortedStrings); 

未排序=( 蘭博基尼, 蘭博基尼, 造我, HSBC, 喜力 )

排序=( HSBC, 喜力, 造我, 蘭博基尼, 蘭博基尼 )

+0

現在我的問題是當我點擊一個字母表像(當我點擊R),那麼它必須被移動到列表中的特定字符串? –

+0

NSIndexSet * indexes = [sortedStrings indexesOfObjectsPassingTest:^ BOOL(NSString * string,NSUInteger idx,BOOL * stop){返回字符串hasPrefix:@「L」]; }];並滾動你的表格 - > [索引firstIndex] –

+0

我是否必須爲每個字母(我的意思是所有26個字母)寫這個代碼? –

相關問題