2012-05-14 52 views
2

我敢肯定這個問題之前已經被問過,但是我在搜索中找不到任何東西。UITableView通過字母分類像在聯繫人列表

我有一個城市名稱列表,可以根據所選國家進行更改。我想訂購這些產品,並根據第一個字母(如聯繫人列表)分段顯示。

我該如何做到這一點?我是否必須手動創建所有部分或者是否有內置方式?

謝謝。

回答

2

按照您希望的順序對數據源進行排序,然後重新加載tableview。

嘗試製作NSMutableArrays的NSDictionary。把每個城市的第一個字母,上上。然後將你的城市插入字母k的數組中。

節數= [[NSDictionary的allKeys]計數]

NSArray* cityNames = [NSArray arrayWithObject: @"Detroit"]; 

NSMutableDictionary* dataSource = [[NSMutableDictionary alloc] init];  

for(NSString* city_name in cityNames){ 

    NSString* key = [[city_name substringToIndex:1] uppercaseString]; 

    if(![dataSource objectForKey: key]){ 
     [dataSource setObject:[NSMutableArray array] forKey:key]; 
    } 
    [[dataSource objectForKey: key] addObject: city_name]; 
} 

如果您需要更多的幫助設置您的數據源與您的tableview在評論這樣說,我會幫你。歡呼聲

1

是的,您必須手動創建所有部分。並且在NSDictionary中存儲部分將會很方便。要有字母區段標記只需返回它們的一個數組sectionIndexTitlesForTableView: