iOS 一个简单的通讯录(ios16什么时候可以更新)

网友投稿 278 2022-06-15


用tableview写了一个简单的通讯录,话不多说,咱们慢慢构建。

首先,你需要一个tableview(这是肯定的。。代码就不贴了哈),接下来,你需要对数据源进行处理,按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内的数组排序 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设置一个索引。

-(NSArray )sectionIndexTitlesForTableView:(UITableView )tableView{

return self.sectionHeaderArray;

}

文/小五么么哒(简书作者)

原文链接:http://jianshu.com/p/d158ff5bd7b0


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:我爱写代码:编程语言了解(教我写代码)
下一篇:Python开发的10个小贴士(python实用教程)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~