您的位置:首页 > 移动开发 > IOS开发

iOS开发基础之排序

2015-07-01 17:38 381 查看
Objective-C 有排序的API,省了我们很多事。

主要有以下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的生日排序。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: