TIANKONGHAIHUO

导航

block的复习

main.m

//

//  main.m

//  8A10.Block的复习

//

//  Created by huan on 16/2/8.

//  Copyright © 2016 huanxi. All rights reserved.

//

 

#import <Foundation/Foundation.h>

//函数定义

void test(){

    

}

int sum(int a, int b){

    return a + b;

}

int main(int argc, const char * argv[]) {

    @autoreleasepool {

        // insert code here...

        //复习block

        //什么是block 就一个代码块

        //block和函数与什么区别

        //1.函数只能在方法外面定义

        //2.block可以定义在方法内,也可以定义在方法外面

        //3.block和函数共同点:都有返回值和参数

        //block定义

        //无返回值 无参数的block

        void(^testBlock)() = ^{

            NSLog(@"无返回值 无参数的block");

        };

        testBlock();

        //无返回值 有参数的block

        void(^test2Block)(int) = ^(int a){

            NSLog(@"你传入的是%d", a);

        };

        test2Block(2);

        //有返回值,有参数的block

        int(^sumBlock)(int,int) = ^(int a,int b){

            return a + b;

        };

        int result = sumBlock(2,3);

        NSLog(@"通过block的计算,结果是:%d", result);

        

        //有返回值,无参数的blcok

        

        //block可重定义 typedef

        typedef void (^MTestBlock)();

        // 给无返回值,无参数的blcok进行- 自定义

        MTestBlock mtestBlcok = ^(){

            NSLog(@"重定义的block");

        };

        mtestBlcok();

        //定义一个特殊操作的blcok

        typedef void (^OperationBlock)();

        OperationBlock operationBlock = ^(){

            NSLog(@"正在检查的版本更新");

        };

        operationBlock();

        

        NSLog(@"Hello, World!");

    }

    return 0;

}

结果

posted on 2016-02-15 21:30  日月行程  阅读(116)  评论(0编辑  收藏  举报