block的使用(一)

        //1)無參無返回值的blockspa

        //格式:指針

        // 定義block變量code

        // 返回值類型 (^block變量名)(形參類型列表);orm

        

        // 定義block類型而且賦值變量

        // 返回值類型 (^block變量名)(形參類型列表)= ^(形參列表){代碼塊;}數據類型

        // 形式1: void^block變量名)() = ^(){};數據

        // 形式2: void^block變量名)() = ^{};margin

        

        // 定義變量top

        void (^sbblock)();co

        void (^sb1)() = ^() {

            NSLog(@"haha");

        };

        

        void (^sb2)() = ^{

            NSLog(@"22");

        };

        

        // 執行block

        // 格式:block變量名(實參)

        // sbblock(); EXC_BAD_ACCESS(code=1,) 野指針訪問報錯,由於sbblock沒有初始化。

        sb1();

        sb2();

        

        // 2)有參無返回值的block

        // 形參列表的格式: 數據類型 變量名

        void (^myblock1)(int a); //定義一個無返回值有一個參數的block變量,變量名爲mblock1

        myblock1 = ^(int a) {

            NSLog(@"a = %d",a);

        };

        

        myblock1(2);

        

        // 3)有參數有返回值的block

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

            return a+b;

        };

        // 執行block而且接收返回結果

        int sum = myblock2(20,34);

        NSLog(@"%d",sum);

相關文章
相關標籤/搜索