关于iOS通讯录分组排序方式

 iOS排序优化。

1.当按某个字段排序时。 我们可以按字段名字当key存入数据


2.key 一个组

3.key + value  一个字典

4.把 key 按某种方式排序

5.根据key 取出数据(model)

应用:  手机通讯录。   微信  我的圈子   等。  

以某个字段为分组   但模型没有给你分组 的优化解决方案

- (NSDictionary *)contactsWithGroup

{

for(id item in _myContacts)

{

Contact *people = [Contact contactWithItem:item];

NSString *nameInEnglish = [ContactManager phonetic:people.name];

nameInEnglish = [nameInEnglish capitalizedString];

unichar k = [nameInEnglish characterAtIndex:0];

if (!(k >= 'A' && k <= 'Z')) {

k = '#';

}

NSString *key = [NSString stringWithFormat:@"%c",k];

NSMutableArray *arrayGroupK = [self.contactsDic objectForKey:key];

if (!arrayGroupK) {

arrayGroupK = [[NSMutableArray alloc]initWithCapacity:5];

[arrayGroupK addObject:people];

if (nil == self.contactsDic) {

self.contactsDic = [[NSMutableDictionary alloc]initWithCapacity:5];

}

[self.contactsDic setObject:arrayGroupK forKey:key];

}else{

[arrayGroupK addObject:people];

}

}

return self.contactsDic;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容