OC基础知识 -- Block

来源:互联网 发布:知到演讲与口才答案 编辑:程序博客网 时间:2024/05/17 01:04

block

1.定义一个block

    void (^block1)(NSString *str) = ^void(NSString *str){        NSLog(@"%@",str);    };    block1(@"long");

2.block作为参数传入函数中

    int resultValue = resultOfTwoNumber(3, 5, ^int(int num1, int num2) {        return num1 * num2;    });    NSLog(@"%d",resultValue);

3.block实现排序

    NSMutableArray *sortArr1 = [NSMutableArray arrayWithObjects:@4,@5,@12,@10,@18, nil];    [sortArr1 sortUsingComparator:^NSComparisonResult(id obj1, id obj2) {        NSNumber *number1 = obj1;        NSNumber *number2 = obj2;        return [number1 compare:number2];    }];    NSLog(@"%@",sortArr1);
    NSMutableArray *sortArr2 = [NSMutableArray arrayWithObjects:@"4",@"5",@"12",@"10",@"18", nil];    [sortArr2 sortUsingComparator:^NSComparisonResult(id obj1, id obj2) {        NSString *sortString1 = obj1;        int a = [sortString1 intValue];        NSNumber *number3 = [NSNumber numberWithInt:a];        NSString *sortString2 = obj2;        int b = [sortString2 intValue];        NSNumber *number4 = [NSNumber numberWithInt:b];        return [number3 compare:number4];    }];    NSLog(@"%@",sortArr2);

字符串不能直接转换成NSNumber
NSNumber能直接转换成字符串 stringValue

0 0
原创粉丝点击