黑马程序员技术交流社区
标题: 我想问一下字典的排序怎么弄啊我找了半天也... [打印本页]
作者: 15175521736 时间: 2014-12-30 22:10
标题: 我想问一下字典的排序怎么弄啊我找了半天也...
求大神指导啊???
作者: frozen 时间: 2014-12-30 22:10
字典本来就无序,如何排序? 只能借助数组来存储key,给key排序这样打印的时候,用key获取字典obj,这样能达到有序
作者: 枫煠 时间: 2014-12-31 15:02
本帖最后由 枫煠 于 2014-12-31 17:28 编辑
用- - (NSArray *)keysSortedByValueUsingComparator:(NSComparator)cmptr
复制代码- -(NSArray*) getNumberSortKeys:(NSString*)dicKey isASC:(BOOL)isASC{
- return [self keysSortedByValueUsingComparator: ^(id obj1, id obj2) {
- if ([[obj1 objectForKey:dicKey] intValue] > [[obj2 objectForKey:dicKey] intValue]) {
- return (NSComparisonResult)isASC?NSOrderedAscending:NSOrderedDescending;
- }
- if ([[obj1 objectForKey:dicKey] intValue] < [[obj2 objectForKey:dicKey] intValue]) {
- return (NSComparisonResult)isASC?NSOrderedDescending:NSOrderedAscending;
- }
- return (NSComparisonResult)NSOrderedSame;
- }];
- }
复制代码
去抓sort之后的key值的结果,然后再根据键值做一个NSArray出来
我做了一个小Demo你参考看看^^
-
-
Sort NSDictionary.zip
50.2 KB, 下载次数: 47
作者: zhaojiajun 时间: 2014-12-31 15:35
楼上说的是那么回事啊
作者: 18942668193 时间: 2015-1-29 21:23
没有明白
作者: 恋梦 时间: 2015-1-31 23:51
四楼正解,字典本无序,都是随机的,要排序也只有用oc数组,但那个跟正常排序也有着天壤之别。
作者: zzyyzz1992 时间: 2015-3-5 14:29
字典我一般不排序,直接这样
for i in 0...10 {
dic.objectForKey(i)
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |