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

来源:互联网 发布:怎样注册淘宝企业店铺 编辑:程序博客网 时间:2024/05/19 00:17
 
    //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
原创粉丝点击