iOS 一個簡單的通訊錄
用tableview寫了一個簡單的通訊錄,話不多說,咱們慢慢構(gòu)建。
首先,你需要一個tableview(這是肯定的。。代碼就不貼了哈),接下來,你需要對數(shù)據(jù)源進(jìn)行處理,按A-Z首字母分類。
UILocalizedIndexedCollation *indexedCollation = [UILocalizedIndexedCollation currentCollation];[self.sectionHeaderArray addObjectsFromArray:[indexedCollation sectionTitles]]; NSMutableArray *sortarray = [[NSMutableArray alloc] init]; for (int i = 0; i < self.sectionHeaderArray.count; i++) { NSMutableArray *sectionArray = [[NSMutableArray alloc] init]; [sortarray addObject:sectionArray];} for (NSString *str in self.dataArray) { NSString *fitst = [EaseChineseToPinyin pinyinFromChineseString:str]; NSInteger index = [indexedCollation sectionForObject:[fitst substringFromIndex:0] collationStringSelector:@selector(uppercaseString)]; [sortarray[index] addObject:str];} //每個section內(nèi)的數(shù)組排序 for (int i = 0; i < [sortarray count]; i++) { NSArray *array = [[sortarray objectAtIndex:i] sortedArrayUsingComparator:^NSComparisonResult(NSString *obj1, NSString *obj2) { NSString *firstLetter1 = [EaseChineseToPinyin pinyinFromChineseString:obj1];firstLetter1 = [[firstLetter1 substringToIndex:1] uppercaseString]; NSString *firstLetter2 = [EaseChineseToPinyin pinyinFromChineseString:obj2];firstLetter2 = [[firstLetter2 substringToIndex:1] uppercaseString]; return [firstLetter1 caseInsensitiveCompare:firstLetter2]; }]; [sortarray replaceObjectAtIndex:i withObject:[NSMutableArray arrayWithArray:array]];} //去掉空的section for (NSInteger i = [sortarray count] - 1; i >= 0; i--) { NSArray *array = [sortarray objectAtIndex:i]; if ([array count] == 0) {[sortarray removeObjectAtIndex:i];[self.sectionHeaderArray removeObjectAtIndex:i]; }}[self.sortArray addObjectsFromArray:sortarray];[self.tableView reloadData];
接下來,你要給tableview設(shè)置一個索引。
-(NSArray )sectionIndexTitlesForTableView:(UITableView )tableView{ return self.sectionHeaderArray;}
文/小五么么噠(簡書作者)原文鏈接:http://www.jianshu.com/p/d158ff5bd7b0相關(guān)文章:
1. IntelliJ IDEA配置Tomcat服務(wù)器的方法2. IntelliJ IDEA導(dǎo)入jar包的方法3. idea刪除項目的操作方法4. 使用Maven 搭建 Spring MVC 本地部署Tomcat的詳細(xì)教程5. IntelliJ IDEA設(shè)置默認(rèn)瀏覽器的方法6. IntelliJ IDEA恢復(fù)刪除文件的方法7. Docker 部署 Prometheus的安裝詳細(xì)教程8. idea重置默認(rèn)配置的方法步驟9. idea導(dǎo)入maven項目的方法10. IntelliJ IDEA調(diào)整字體大小的方法

網(wǎng)公網(wǎng)安備