block与方法 排序各个国家的名称

什么时候block需要作为方法的参数.

. block与函数的异同

. 相同点: 都可以封装1段代码在其中.

. 不同点:

ZYArray.h

(^SortArray)(char *countries1,char *countries2);@interface ZYArray : NSObject- (void)sortWithArray:(char *[])array andLength:(int)length andBlcok:(SortArray)sortArray;@end

ZYArray.m

#import “ZYArray.h”@implementation ZYArray- (void)sortWithArray:(char *[])array andLength:(int)length andBlcok:(SortArray)sortArray{for (int i = 0 ; i<length – 1; i++){for (int j = 0 ; j<length – i -1; j++){BOOL res = sortArray(array[j],array[j+1]);if (res >0){char *temp = array[j];array[j] = array[j+1];array[j+1] = temp;}}}for (int i = 0 ; i<length ; i++){NSLog(@”%s”,array[i]);}}@end

main.m

main(int argc, const char * argv[]){char *countries[] ={“Nepal”,”Cambodia”,”Afghanistan”,”China”,”Singapore”,”Bangladesh”,”India”,”Maldives”,”South Korea”,”Bhutan”,”Japan”,”Sikkim”,”Sri Lanka”,”Burma”,”North Korea”,”Laos”,”Malaysia”,”Indonesia”,”Turkey”,”Mongolia”,”Pakistan”,”Philippines”,”Vietnam”,”Palestine”};int length = sizeof(countries)/sizeof(countries[0]);ZYArray *array = [[ZYArray alloc]init];[array sortWithArray:countries andLength:length andBlcok:^BOOL(char *countries1, char *countries2) {return strcmp(countries1, countries2);}];return 0;}

这里是按照首字母排序 当然还可以按照别的方式进行排序 看各位的需求

,诚实是人生绝妙的法宝。虽然对人诚实,

block与方法 排序各个国家的名称

相关文章:

你感兴趣的文章:

标签云: