iOS开发基础之排序
2015-07-01 17:38
381 查看
Objective-C 有排序的API,省了我们很多事。
主要有以下3种方法。
NSComparator
NSDescriptor
自定义selector
注意到方法一:
如这段代码,是按照Person的生日排序。
主要有以下3种方法。
NSComparator
NSArray *unsortedArray = @[@5,@3,@8,@1,@7]; NSArray *sortedArray = [unsortedArray sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) { return [obj1 compare:obj2]; }];
NSDescriptor
NSArray *unsortedArray = @[@5,@3,@8,@1,@7]; NSSortDescriptor *aDesc = [[NSSortDescriptor alloc] initWithKey:@"integerValue" ascending:YES]; NSArray *sortedArray2 = [unsortedArray sortedArrayUsingDescriptors:@[aDesc]];
自定义selector
注意到方法一:
[obj1 compare:obj2]; 是NSNumber实现的compare方法,对于自己定义的Model,可以实现自己的compare方法。
- (NSComparisonResult)compare:(Person *)otherPerson { return [self.dateOfBirth compare:otherPerson.dateOfBirth]; }
如这段代码,是按照Person的生日排序。
相关文章推荐
- ios8 中改变label的高度
- iOS 时间处理(转)
- iOS and OS X Network Programming Cookbook |Creating an echo server(Bonjour)(下)
- iOS并发编程指南
- ios调打电话代码
- IOS读写沙盒文件数据
- XCode开发证书生成步骤
- iOS 时间
- iOS开发之iOS程序偏好设置(Settings Bundle)的使用
- iOS开发笔记24--第三方库JSONModel的使用
- iOS的手势
- iOS 易忘的字符串方法
- iOS开发:创建真机调试证书
- iOS 常见的加密方法
- iOS开发笔记23——iOS工程结构
- iOS计算项目有多少行代码
- iOS进程间通信之CFMessagePort
- iOS md5加密
- iOS沙盒目录的访问
- iOS深入学习(NSNotificationCenter消息转发是同步操作)