NSArray中的数据排序,经常是利用NSSortDescriptor。
官方文档:http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSSortDescriptor_Class/Reference/Reference.html
//组装数据
array=[[NSMutableArray alloc] initWithCapacity:11];
NSMutableDictionary *dir6=[[NSMutableDictionary alloc] initWithCapacity:1];
[dir6 setObject:@"曹磊" forKey:@"FriendName"];
[dir6 setObject:@"曹磊" forKey:@"FriendID"];
[array addObject:dir6];
[dir6 release];
NSMutableDictionary *dir=[[NSMutableDictionary alloc] initWithCapacity:1];
[dir setObject:@"王军" forKey:@"FriendName"];
[dir setObject:@"曹磊" forKey:@"FriendID"];
[array addObject:dir];
[dir release];
NSMutableDictionary *dir1=[[NSMutableDictionary alloc] initWithCapacity:1];
[dir1 setObject:@"111" forKey:@"FriendName"];
[dir1 setObject:@"曹磊" forKey:@"FriendID"];
[array addObject:dir1];
[dir1 release];
NSMutableDictionary *dir2=[[NSMutableDictionary alloc] initWithCapacity:1];
[dir2 setObject:@"王兴朝" forKey:@"FriendName"];
[dir2 setObject:@"曹磊" forKey:@"FriendID"];
[array addObject:dir2];
[dir2 release];
NSMutableDictionary *dir3=[[NSMutableDictionary alloc] initWithCapacity:1];
[dir3 setObject:@"wangjun" forKey:@"FriendName"];
[dir3 setObject:@"曹磊" forKey:@"FriendID"];
[array addObject:dir3];
[dir3 release];
NSMutableDictionary *dir4=[[NSMutableDictionary alloc] initWithCapacity:1];
[dir4 setObject:@"apk" forKey:@"FriendName"];
[dir4 setObject:@"曹磊" forKey:@"FriendID"];
[array addObject:dir4];
[dir4 release];
self.myArray=array;
[array release];
NSLog(@">>>>>>排序前>>>>>>>>");
for (int i=0; i<[self.myArray count]; i++) {
NSLog(@"%@",[[self.myArray objectAtIndex:i] objectForKey:@"FriendName"]);
}
NSSortDescriptor
*sorter = [[NSSortDescriptor alloc] initWithKey:@"FriendName" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:&sorter count:1];
NSArray *sortedArray = [self.myArray sortedArrayUsingDescriptors:sortDescriptors];
[sorter release];
NSLog(@"\n\n\n\n\n>>>>>>排序后>>>>>>>>");
for (int i=0; i<[sortedArray count]; i++) {
NSLog(@"%@",[[sortedArray objectAtIndex:i] objectForKey:@"FriendName"]);
}
数据结果:
2011-04-21 18:31:36.556 sort[4041:707] >>>>>>排序前>>>>>>>>
2011-04-21 18:31:36.567 sort[4041:707] 曹磊
2011-04-21 18:31:36.571 sort[4041:707] 王军
2011-04-21 18:31:36.575 sort[4041:707] 111
2011-04-21 18:31:36.578 sort[4041:707] 王兴朝
2011-04-21 18:31:36.582 sort[4041:707] wangjun
2011-04-21 18:31:36.585 sort[4041:707] apk
2011-04-21 18:31:36.589 sort[4041:707]
>>>>>>排序后>>>>>>>>
2011-04-21 18:31:36.595 sort[4041:707] 111
2011-04-21 18:31:36.599 sort[4041:707] apk
2011-04-21 18:31:36.602 sort[4041:707] wangjun
2011-04-21 18:31:36.606 sort[4041:707] 曹磊
2011-04-21 18:31:36.610 sort[4041:707] 王兴朝
2011-04-21 18:31:36.613 sort[4041:707] 王军
分享到:
相关推荐
NSArray排序demo
使用数据结构的排序算法,对NSArray进行排序,包括快速、选择、插入、希尔等四种排序算法
官方文档,数组类的最权威文档。各种数组方法的详细说明。英文的。
NSArray *arr = [[NSArray alloc] initWithObjects:如果要初始化1000项,可以这样:当然换成swift就超级简单了
Object C 字符串和数组NSString NSArray操作
比较完美的解决了数组越界的问题, 在debug模式下会崩溃 , 在release不会崩溃 , 开发过程中 , 方便调试 , 正式环境中 减少崩溃.
1. 数组的常用处理方式 //--------------------不可变数组 //1....NSString *s1 = @zhangsan; NSString *s2 = @lisi; NSString *s3 = @wangwu;...NSArray *array1 = [[NSArray ...NSArray *array2 = [NSArray arrayWithOb
NSString NSArray NSDictionary 方法名释义
Swift-NSArray数组的使用
在iPhone和后台系统的通信中,使用Web Service...该类的特点上将XML数据解析成数据库记录形式,数据解析后保存在NSArray中, 其中数组的每个元素对应一条数据库记录,每条记录则是由数据库字段和值组成的NSDictionary。
Iphone数组一些基础操作 NSArray/NSMutableArrayIphone
OC-NSArray数组的使用Demol
Objective-C的数组比C++,Java的数组强大在于,NSArray保存的对象可以是不同的对象。但只能保存对象,int ,char,double等基本数据类型不能直接保存,需要通过转换成对象才能加入数组。
NSPredicate应用,包括以下几个部分: 1、字符串,正则表达式的匹配; 2、字符串数组NSArray和NSMutableArray的快捷过滤方式; 3、自定义对象数组NSArray和NSMutableArray的快捷过滤方式;
bjl_shuffledArrayWithItemLimit: - ( NSArray *)bjl_shuffledArrayWithItemLimit:( NSUInteger )itemLimit 参数项目限制从数组中随机选择的元素数。 返回值返回一个包含有限数量随机元素的数组。 讨论如果您只需要...
主要介绍了IOS 开发之 NSMutableArray与NSArray 的区别的相关资料,希望通过本文能掌握这部分内容,需要的朋友可以参考下
NSArray,NSSet,NSEnumerator,NSDictionary及对应Mutable介绍,有对应的实例代码
一些NSArray,NSDictionary,NSSet相关的算法知识1
详细的说明和用法 NSArray,NSSet,NSDictionary 以及他们子类的说明
object-c 适合初学者,主要学习数组,包括固定数组和可变数组,以及创建简单类文件和使用方法