#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //数组排序 NSArray *arr=@[@"a",@"b",@"c",@"d",@"e",@"f",@"g"]; NSArray *sortarr=[arr sortedArrayUsingSelector:@selector(loc)]; for (id str in sortarr) { NSLog(@"%@",str); } //block NSComparator sortBlock=^(id obj1,id obj2) { return [obj2 compare:obj1]; }; NSArray *sortArray=[arr sortedArrayUsingComparator:sortBlock]; for (id str1 in sortArray) { NSLog(@"%@",str1); } /*id: 当不确定数组元素的类型时,可以选择用id NSObject和id都可以指向任意对象 NSObject使用时必须强转 instancetype 只能返回本类的对象 可以返回和方法所在类相同的类型的对象 返回值类型,绝对不能传参 id只能返回未知类型的对象 参数适用 */ } return 0; }