Objective-C代码中,块(block)的使用

 



    //int代码块
    int mutl =7;
    int (^visenBlock)(int) = ^(int num){return num *mutl;};
    
    NSLog(@"%d",visenBlock(4));
    
    
    //nsstring代码块
    void (^visenPrintString)(NSString *str) = ^(NSString *str){
        NSLog(@"print:%@", str);
    };
    
    visenPrintString(@"aaaa");
    
    //代码用在字符串数组排序
    NSArray *stringArray = [NSArray arrayWithObjects:@"abc 1", @"abc 21", @"abc 12",@"abc 13",@"abc 05",nil];
    NSComparator visenSortBlock = ^(id string1,id string2){
        return [string1 compare:string2];
    };
    
    NSArray *sortArray = [stringArray sortedArrayUsingComparator:visenSortBlock];
    NSLog(@"sortArray:%@", sortArray);
    
    //代码块的递归调用
    //代码块想要递归调用,代码块变量必须是全局变量或者是静态变量,这样在程序启动的时候代码块变量就初始化了,可以递归调用
    static void (^ const visenRecursionBlock)(int) = ^(int i){
        if (i>0) {
            NSLog(@"num: %d",i);
            
            visenRecursionBlock(i-1);
        };
    };
    visenRecursionBlock(3);
    
    //在代码块中使用全局变量
    void (^visenVariablesBlock)(void) =^(void){
        iVisen ++;
        NSLog(@"%d",iVisen);
    };
    
    visenVariablesBlock();

    转载来自:http://www.xue5.com/Mobile/iOS/658965.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值