1//数组的遍历(可变数组举例)2//for遍历3NSMutableArray *aa =[NSMutableArray array];4[aa addObjectsFromArray:@[@"ss",@"ddd",@"sad"]];5for(inti =0; i < aa.count; i++) {6NSLog(@"%@",[aa objectAtIndex:i]);7}8//快速遍历9for(idobjinaa) {10NSLog(@"%@",obj);11}12//代码块遍历13//obj是对象 idx是下标 stop是停止标志14[aa enumerateObjectsUsingBlock:^(idobj, NSUInteger idx, BOOL *stop) {15NSLog(@"%@",obj);16NSLog(@"%@",[aa objectAtIndex:idx]);17}];18//迭代器遍历19//将数组元素存放进迭代器20NSEnumerator *en =[aa objectEnumerator];21idobj = nil;//创建一个对象接受返回对象22while(obj =[en nextObject]) {23NSLog(@"%@",obj);24}25//反向迭代器遍历26NSEnumerator *en1 =[aa reverSEObjectEnumerator];27idobj1 =nil;28while(obj1 =[en1 nextObject]) {29NSLog(@"%@",obj1);30}313233//排序(可变数组举例)34//可变数组排序的方法无返回值 不可变数组的排序有返回值35//选择器排序36//compare方法尽限于比较元素是字符时 ,如有另外的比较 请另写比较方法 返回值(NSComparisonResult)37[aa sortUsingSelector:@selector(compare:)];38//代码块排序39//根据实际情况写判断方法40[aa sortUsingComparator:^NSComparisonResult(idobj1,idobj2) {41return[obj1 compare:obj2];42}];43//比较描述器排序44//对多个条件进行排序比较便利45Person *p1 =[[Person alloc]init];46p1.name =@"ss";47p1.age =@"16";4849Person *p2 =[[Person alloc]init];50p2.name =@"dd";51p2.age =@"14";5253Person *p3 =[[Person alloc]init];54p3.name =@"hh";55p3.age =@"22";5657Person *p4 =[[Person alloc]init];58p4.name =@"hh";59p4.age =@"19";60NSMutableArray *sss =[NSMutableArray arrayWithObjects:p1,p2,p3,p4,nil];61NSSortDescriptor *sort1 = [NSSortDescriptor sortDescriptorWithKey:@"name"ascending:YES];62NSSortDescriptor *sort2 = [NSSortDescriptor sortDescriptorWithKey:@"age"ascending:YES];63NSArray *s =@[sort1,sort2];64[sss sortUsingDescriptors:s];65NSLog(@"%@",sss);
person.h
1#import<Foundation/Foundation.h>23@interfacePerson : NSObject4@PRoperty (nonatomic,strong)NSString *name;5@property (nonatomic,strong)NSString *age;6@end
person.m
1#import"Person.h"23@implementationPerson4- (NSString *)description5{6return[NSString stringWithFormat:@"%@ %@", _name,_age];7}8@end
运行结果分析:
2015-06-0117:37:55.984Array[2030:140148] ss2015-06-0117:37:55.985Array[2030:140148] ddd2015-06-0117:37:55.985Array[2030:140148] sad2015-06-0117:37:55.986Array[2030:140148] ss2015-06-0117:37:55.986Array[2030:140148] ddd2015-06-0117:37:55.986Array[2030:140148] sad2015-06-0117:37:55.986Array[2030:140148] ss2015-06-0117:37:55.986Array[2030:140148] ss2015-06-0117:37:55.986Array[2030:140148] ddd2015-06-0117:37:55.987Array[2030:140148] ddd2015-06-0117:37:55.987Array[2030:140148] sad2015-06-0117:37:55.987Array[2030:140148] sad2015-06-0117:37:55.992Array[2030:140148] ss2015-06-0117:37:55.992Array[2030:140148] ddd2015-06-0117:37:55.992Array[2030:140148] sad2015-06-0117:37:55.992Array[2030:140148] sad2015-06-0117:37:55.992Array[2030:140148] ddd2015-06-0117:37:55.993Array[2030:140148] ss2015-06-0117:37:55.993Array[2030:140148] ("dd 14","hh 19","hh 22","ss 16")