博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NSArray中排序的种类
阅读量:5917 次
发布时间:2019-06-19

本文共 2941 字,大约阅读时间需要 9 分钟。

////  main.m//  NSArray的排序////  Created by ganchaobo on 13-4-28.//  Copyright (c) 2013年 ganchaobo. All rights reserved.//#import 
#import "Student.h"#import "MyStudent.h"void SimpleNSArraySort(){ NSArray *arr=[NSArray arrayWithObjects:@"3",@"1",@"2", nil]; //NSArray中每个对象比较的时候,都是调用对象的compare进行比较 //用制定方法比较 NSArray *sortArray= [arr sortedArrayUsingSelector:@selector(compare:)]; NSLog(@"%@",arr); NSLog(@"======"); NSLog(@"%@",sortArray); }void ModelNArraySort(){ //数组里面要比较的对象,必须有一个方法返回compareRestult Student *s1=[Student StudentWithName:@"wen" AndLastName:@"li"]; Student *s2=[Student StudentWithName:@"xen" AndLastName:@"Li"]; Student *s3=[Student StudentWithName:@"xen" AndLastName:@"z"]; NSArray *arr=[NSArray arrayWithObjects:s1,s2,s3, nil]; NSArray *sortArry=[arr sortedArrayUsingSelector:@selector(CompareStudent:)];//每个对象的比较方法 NSLog(@"%@" ,sortArry); }void BlockNSArraySort(){ Student *s1=[Student StudentWithName:@"wen" AndLastName:@"li"]; Student *s2=[Student StudentWithName:@"xen" AndLastName:@"Li"]; Student *s3=[Student StudentWithName:@"xen" AndLastName:@"z"]; NSArray *arr=[NSArray arrayWithObjects:s1,s2,s3, nil]; //NSArray *sortArry=[arr sortedArrayUsingSelector:@selector(CompareStudent:)];//每个对象的比较方法 //用block <#^NSComparisonResult(id obj1, id obj2)cmptr#> NSArray *sortArry=[arr sortedArrayUsingComparator:^NSComparisonResult(Student *stu1 ,Student *stu2){ NSComparisonResult result=[stu1.LastName compare:stu2.LastName options:NSCaseInsensitiveSearch]; if(NSOrderedSame==result){ result=[stu1.Name compare:stu2.Name options:NSCaseInsensitiveSearch]; } return result; }]; NSLog(@"%@" ,sortArry);}void MoreModelNSArraySort(){ Student *s1=[Student StudentWithName:@"wen" AndLastName:@"li" AndBookName:@"Book1"]; Student *s2=[Student StudentWithName:@"xen" AndLastName:@"Li" AndBookName:@"Book1"]; Student *s3=[Student StudentWithName:@"xen" AndLastName:@"B" AndBookName:@"Book2"]; NSArray *arr=[NSArray arrayWithObjects:s1,s2,s3, nil]; NSSortDescriptor *BookDescript=[NSSortDescriptor sortDescriptorWithKey:@"bk.BookName" ascending:YES]; NSSortDescriptor *LastNameDescript=[NSSortDescriptor sortDescriptorWithKey:@"LastName" ascending:YES]; NSSortDescriptor *NameDescirpt=[NSSortDescriptor sortDescriptorWithKey:@"Name" ascending:YES]; NSArray *arr1=[NSArray arrayWithObjects:BookDescript,LastNameDescript,NameDescirpt, nil]; NSArray *sortArry=[arr sortedArrayUsingDescriptors:arr1];//调用对象的copare方法,没有指定block NSLog(@"%@",sortArry); }int main(int argc, const char * argv[]){ @autoreleasepool { //MoreModelNSArraySort(); MyStudent *mm=[MyStudent StudentWithName:@"aa" AndLastName:@"bb" AndBookName:@"cc" AndAge:12]; NSLog(@"%@",mm); } return 0;}

 

转载于:https://www.cnblogs.com/gcb999/archive/2013/04/30/3051860.html

你可能感兴趣的文章
让ymPrompt和asp.net配合的方法
查看>>
突发奇想
查看>>
.NET_.NET Copy Web 部署概念_02-3 复制网站
查看>>
PHP preg_match的简单使用,验证邮箱地址
查看>>
终端常用快捷键
查看>>
Winform开发框架之系统重新登录、自动登录实现
查看>>
如何让代码可测试化(C#)
查看>>
LINQ 学习笔记
查看>>
WinSock学习笔记3:Select模型
查看>>
数据库的架构和对象
查看>>
FUHLEN/富勒 U79/U79G节能系列/U系列无线2.4G接收器-淘宝网
查看>>
关于网站favicon.ico
查看>>
PLSQL中INDEX BY TABLE 的 prior 和 next 操作学习
查看>>
python 抽象类、抽象方法的实现
查看>>
Linux的nm查看动态和静态库中的符号
查看>>
最小费用最大流
查看>>
网络工程师应该掌握的44个路由器问题
查看>>
Oracle Database中DBA常用的表和视图
查看>>
WinJS实用开发技巧(1):XML转JSON
查看>>
Dreamweaver采用utf-8制作页面,到.net显示乱码问题解决
查看>>