杨中市网站建设,大侠seo外链自动群发工具,网站建设服务哪便宜,银行网站开发技术方案晚上回来#xff0c;继续写Object-C的例子#xff0c;今天不打算写iOS可视化界面的程序#xff0c;太累了。刚刚dady又电话过来#xff0c;老一套#xff0c;烦死了。其实#xff0c;我一直一个观点#xff0c;无论发生什么事情#xff0c;不要整天一副不开心的样子。开… 晚上回来继续写Object-C的例子今天不打算写iOS可视化界面的程序太累了。 刚刚dady又电话过来老一套烦死了。 其实我一直一个观点无论发生什么事情不要整天一副不开心的样子。 开开心心过日子活着就要懂得珍惜。 刚刚写了数组排序有3种方法使用对象自带的compare方法、传入比较函数、匿名函数-代码块。 个人认为本质是2种方法。 一种是类似Java中的对象实现Comparable接口的compareTo方法。 一种是传入比较器Comparator比较灵活。代码//
// main.m
// NSArraySort
//
// Created by fansunion on 15/12/2.
// Copyright (c) 2015年 demo. All rights reserved.
//#import Foundation/Foundation.h//需要定义在main函数之前和C语言一样和java不一样
//比较函数降序排列
NSComparisonResult intSort(id a,id b,void* context){int v1 [a intValue];int v2 [b intValue];if(v1 v2){return NSOrderedAscending;}else if(v1 v2){return NSOrderedDescending;}else{return NSOrderedSame;}
}int main(int argc, const char * argv[]) {autoreleasepool {//字符串数组使用自带的compare方法排序。相当于Java中对象实现Comparable接口的compareTo方法NSArray* strArray [Java,Android,Object-C];strArray [strArray sortedArrayUsingSelector:selector(compare:)];NSLog((%),strArray);//整型数组传入比较函数。相当于Java中传入Comparator对象这种方式更加灵活。NSArray* numberArray [[NSNumber numberWithInteger:2015],[NSNumber numberWithInt:1949],[NSNumber numberWithInt:2020]];numberArray [numberArray sortedArrayUsingFunction:intSort context:nil];NSLog(%,numberArray);//使用代码块比较进行排序和第2种方法感觉没啥区别啊,升序NSArray* numberArrayAsc [numberArray sortedArrayUsingComparator:^(id a,id b){int v1 [a intValue];int v2 [b intValue];if(v1 v2){return NSOrderedDescending;}else if(v1 v2){return NSOrderedAscending;}else{return NSOrderedSame;}}];NSLog(%,numberArrayAsc);}return 0;
} 程序输出2015-12-02 20:39:09.500 NSArraySort[5534:380948] ( Android, Java, Object-C)2015-12-02 20:39:09.502 NSArraySort[5534:380948] ( 2020, 2015, 1949)2015-12-02 20:39:09.502 NSArraySort[5534:380948] ( 1949, 2015, 2020)Program ended with exit code: 0转载于:https://www.cnblogs.com/qitian1/p/6462551.html