iOS数组内存放自定义model的简单排序方法
来源:互联网 发布:淘宝网和天猫的关系 编辑:程序博客网 时间:2024/06/06 06:56
使用NSComparator进行排序
comparator实际上是用一个block对象作比较操作。它的定义如下所示:
typedef NSComparisonResult (^NSComparator)(id obj1, id obj2);
上面的参数(obj1、obj2)就是我们将要做比较的对象。block返回的结果为NSComparisonResult类型来表示两个对象的顺序。
要对整个数组做排序,则需要使用NSArray的sortArrayUsingComparator:方法,如下代码所示:
NSArray *sortedArray = [self.persons sortedArrayUsingComparator:^NSComparisonResult(Person *p1, Person *p2){
return [p1.surname compare:p2.surname];
}];
具体上一段项目代码:
NSArray *sortedArray = [self.nearByDrugstoressortedArrayUsingComparator:^NSComparisonResult(DrugstoreModel *model1,DrugstoreModel *model2){
return [model1.distancefloatValue] < [model2.distancefloatValue];
}];
self.nearByDrugstores = sortedArray;
结果为 返回距离从远到近的排序
NSArray *sortedArray = [self.nearByDrugstoressortedArrayUsingComparator:^NSComparisonResult(DrugstoreModel *model1,DrugstoreModel *model2){
if (model1.consulting_num < model2.consulting_num) {
returnNSOrderedDescending;
} else {
returnNSOrderedAscending;
}
}];
self.nearByDrugstores = sortedArray;
或者我们用这样的代码,效果一致:
NSArray *sortedArray = [self.nearByDrugstoressortedArrayUsingComparator:^NSComparisonResult(DrugstoreModel *model1,DrugstoreModel *model2){
if (model1.consulting_num > model2.consulting_num) {
returnNSOrderedAscending;
} else {
returnNSOrderedDescending;
}
}];
self.nearByDrugstores = sortedArray;- iOS数组内存放自定义model的简单排序方法
- iOS-model(自定义)排序
- ios数组里的model排序(高级排序)
- ios的几种简单有效的数组排序方法
- ios的几种简单有效的数组排序方法
- ios的几种简单有效的数组排序方法
- IOS几种简单有效的数组排序方法
- IOS几种简单有效的数组排序方法
- IOS几种简单有效的数组排序方法
- ios几种简单有效的数组排序方法
- IOS几种简单有效的数组排序方法
- IOS几种简单有效的数组排序方法
- IOS几种简单有效的数组排序方法
- IOS几种简单有效的数组排序方法
- IOS几种简单有效的数组排序方法
- IOS几种简单有效的数组排序方法
- IOS几种简单有效的数组排序方法
- IOS几种简单有效的数组排序方法
- hdu 5446 Unknown Treasure(Lucas定理+中国剩余定理)
- 基于第三方QQ授权登录和新浪微博授权登录的iOS代码分析
- 去掉导航栏下的分割线的方法
- Intellij idea 第一天
- 事务
- iOS数组内存放自定义model的简单排序方法
- 2015 ACM/ICPC Asia Regional Changchun Online-1007The Water Problem(线段树裸题)
- Halcon学习之仿射变换2
- 机器人控制该怎么入门?
- Hibernate-常用API简列
- Nuget发布与dll文件引用
- Android, 启动活动的最佳写法
- UIView
- 数据结构 线性结构中的数组