block的複習

main.m函數

//spa

//  main.mcode

//  8A10.Block的複習blog

//io

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

//  Copyright © 2016 huanxi. All rights reserved.test

//import

 

#import <Foundation/Foundation.h>gc

//函數定義方法

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;

}

結果

相關文章
相關標籤/搜索