今天有朋友问我怎么给Model排序,我顺便写了一个,伸手党直接复制吧.

例如,我建了一个Person类,要按Person的年龄属性排序:

Person *per = [[Person alloc] init];

per.name = @"z";

per.age = 89;

Person *per1 = [[Person alloc] init];
per1.name = @"h";
per1.age = 18; Person *per2 = [[Person alloc] init];
per2.name = @"l";
per2.age = 44; NSMutableArray *array = [NSMutableArray array];
[array addObject:per];
[array addObject:per1];
[array addObject:per2];

NSArray *resultArray = [array sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {

    Person *per1 = obj1;
Person *per2 = obj2; if (per1.age > per2.age) { return NSOrderedDescending;//降序
}else if (per1.age < per2.age)
{
return NSOrderedAscending;//升序
}else
{
return NSOrderedSame;//相等
} }]; for (Person *per in resultArray) {
NSLog(@"per.age = %ld",per.age);
}

最新文章

  1. 整理一自己不怎么熟悉的HTML标签(会陆续更新)
  2. [Js/Jquery]立即执行匿名函数
  3. Android (二维码)关于java.lang.UnsatisfiedLinkError的小案例
  4. WCF 异步调用问题
  5. 【C语言学习】-02 分支结构
  6. python核心编程 第二天
  7. CSS常用的属性命名
  8. 汽车XX网站秒杀抢购代码
  9. Android应用开发学习之状态栏通知
  10. Cocos2d-x使用android拍照功能加载照片内存过大,通过另存照片尺寸大小解决
  11. Three.js使用局部纹理更新
  12. 团队作业8——测试与发布(Beta阶段)
  13. 变分自编码器(Variational Autoencoder, VAE)通俗教程
  14. 说说不知道的Golang中参数传递
  15. Data Source与数据库连接池简介 JDBC简介(八)
  16. Linux:Gentoo系统的安装笔记(一)
  17. Java事件处理机制(深入理解)
  18. 纯小白入手 vue3.0 CLI - 3.2 - 路由的初级使用
  19. 第三百九十八节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5系统环境设置
  20. Hive之变量和属性

热门文章

  1. 第一个前台页面----xflow的页面
  2. MyBaits 错误分析
  3. c语言判断打开文件是否为空的方法
  4. fpSpread1 简单用法
  5. HDU-1232--畅通工程(最小生成树)
  6. java 读取URL中的资源
  7. Linux学习 -- 用户和用户组管理
  8. JavaScript 小技巧汇总
  9. 编译filezilla
  10. hdu_5691_Sitting in Line(状压DP)