iosdemo好友列表索引

问题描述

demo有这个方法,要实现他么

解决方案

是这个方法- (NSMutableArray *)sortDataArray:(NSArray *)dataArray{    //建立索引的核心    UILocalizedIndexedCollation *indexCollation = [UILocalizedIndexedCollation currentCollation];        [self.sectionTitles removeAllObjects];    [self.sectionTitles addObjectsFromArray:[indexCollation sectionTitles]];        //返回27,是a-z和#    NSInteger highSection = [self.sectionTitles count];    //tableView 会被分成27个section    NSMutableArray *sortedArray = [NSMutableArray arrayWithCapacity:highSection];    for (int i = 0; i <= highSection; i++) {        NSMutableArray *sectionArray = [NSMutableArray arrayWithCapacity:1];        [sortedArray addObject:sectionArray];    }        //名字分section    for (EMBuddy *buddy in dataArray) {        //getUserName是实现中文拼音检索的核心,见NameIndex类        NSString *firstLetter = [ChineseToPinyin pinyinFromChineseString:buddy.username];        NSInteger section = [indexCollation sectionForObject:[firstLetter substringToIndex:1] collationStringSelector:@selector(uppercaseString)];                NSMutableArray *array = [sortedArray objectAtIndex:section];        [array addObject:buddy];    }        //每个section内的数组排序    for (int i = 0; i < [sortedArray count]; i++) {        NSArray *array = [[sortedArray objectAtIndex:i] sortedArrayUsingComparator:^NSComparisonResult(EMBuddy *obj1, EMBuddy *obj2) {            NSString *firstLetter1 = [ChineseToPinyin pinyinFromChineseString:obj1.username];            firstLetter1 = [[firstLetter1 substringToIndex:1] uppercaseString];                        NSString *firstLetter2 = [ChineseToPinyin pinyinFromChineseString:obj2.username];            firstLetter2 = [[firstLetter2 substringToIndex:1] uppercaseString];                        return [firstLetter1 caseInsensitiveCompare:firstLetter2];        }];                        [sortedArray replaceObjectAtIndex:i withObject:[NSMutableArray arrayWithArray:array]];    }        NSLog(@"ssssssssss===%@",sortedArray);    return sortedArray;}
解决方案二:
看你的需求啊,有需要就实现啊。

时间: 2024-08-03 04:32:10

iosdemo好友列表索引的相关文章

联系人界面不出现好友列表

问题描述 把环信demo倒入自己的工程,联系人界面不出现好友列表,需要在哪里设置一下吗,从数据库读取在哪里写呢 解决方案 登录成功了吗,登录成功后有没有调用从服务器获取的方法?好友列表是从服务器取的,asyncFetchBuddyList,你看你有没有调用解决方案二:登陆成功了,只出现了上面的通知和群组解决方案三:在appdelegete里我看了下asyncFetchBuddyList的回调方法,打印,里面数组显示有一个元素,但是UI还是不显示,旁边的索引也不显示解决方案四:这个需要你检查下代码

IOS详解TableView:QQ好友列表的实现

上篇博客写了关于性能优化以及手工绘制自定义单元格内容,这篇我们利用TableView的Section的 Header来实现类似QQ好友列表的效果. TableView有一个代理方法 这个方法返回一个UIView对象,我们可以将一个Button对象设为这个Section的Header,在点击它的 时候展开列表内容. 简单地看下假的好友列表数据 一个array中包含多个 dictionary,字典中又包括组别的名字以及好友列表,好友也用一个字典来表示,分别有名称,是否在 线以及头像图片名字. 加载数

Android基于Openfire开发即时通讯工具(4)获取好友列表

上节已经在openfire服务器中建立了组, 开发即时通讯工具(4)获取好友列表-openfire即时通讯"> 这节继续看怎样获取好友列表, 通过connection对象得到roster,从而可以使用roster.getGroups()得到所有组,使用group.getEntries()得到组中所有的用户 <span style="white-space:pre"> </span>//获取好友列表 Roster roster = connecti

Android基于Openfire开发即时通讯工具(3)建立好友列表

通过roster可以获得好友列表,前提是在服务器中建立了好友列表, 不然没有的话,不会获取全部用户的,roster.getEntries()的size将会为0. 下面来看看怎么在openfire服务器中,建立好友列表. 首先创建一些用户: 开发即时通讯工具(3)建立好友列表-openfire即时通讯"> 然后创建一个组,在组中加入一些成员:

oracle的散列表索引

有许多涉及散列表的数据结构可用做索引.我们假定读者知道用作主存数据结构的散列表.在这种结构中有一个散列函数,它以查找键(我们可称之为散列键)为参数并计算出一个介于0到B-1的整数,其中B是桶的数目.桶数组,即一个序号从0~B-1的数组中包含B个链表的头,每一个对应于数组中的一个桶.如果记录的查找键为K,那么通过将该记录链接到桶号为h(K)的桶列表中来存储它,其中h是散列函数. 1.辅存散列表 有的散列表包含大量记录,记录如此之多,以至于它们主要存放在辅助存储器上,这样的散列表在一些细小而重要的方

人人桌面加载不了新鲜事、加载不了好友列表怎么设置?

部分教育网用户会遇到DNS解析错误的问题,建议您点击左下角的"人"字标志,在系统设置--网络连接里,重新设置代理,尝试使用人人专用代理,或者手动配置代理. 列表怎么设置?-11平台好友列表加载中">

用ExpandableListView实现类似QQ好友列表

  ExpandableListView是一个用来显示二级节点的listview. qq好友列表中子列表上下移动时,父节点在顶端会始终显示,这里我们可以自定义一个view来充当这个父节点.   主布局文件qq_listview如下,其中当我们拖动列表时,系统默认拖动过程中列表背景是黑的,我们可以通过android:cacheColorHint="#00000000"将其设置为透明,其中前两位是透明效果参数(00-99),后六位是颜色的设置.   Xml代码 <?xml versi

android-使用XMPP显示好友列表

问题描述 使用XMPP显示好友列表 我正在开发一个聊天室应用程序,需要使用XMPP在android应用程序中显示好友列表.现在我写出了以下的代码: public void friendslist() { Roster roster = connection.getRoster(); Collection<RosterEntry> entries = roster.getEntries(); System.out.println("nn" + entries.size() +

qt qtreewidget-qt实现一个类似于QQ的好友列表 用Qtreewidget 怎么实现消息小红点提示

问题描述 qt实现一个类似于QQ的好友列表 用Qtreewidget 怎么实现消息小红点提示 如题 我想用一个label显示消息的数量 就是类似于QQ那种未读消息红点显示的那种 item所在的treewidget->setItemwidget()添加一个列为label 可是运行起来却不显示这个label 求教 解决方案 http://blog.csdn.net/shuideyidi/article/details/30619167