block

        //函數調用函數

        sayHi();指針

        

        //函數指針字符串

        void (*p_sayHi)() = NULL; //定義了一個數據類型爲 void (*)()變量名爲p_sayHi,初值爲NULL的一個指針變量test

        //函數名 表明函數地址匿名函數

        p_sayHi = sayHi; //將函數的地址賦值給 p_sayHi,那麼p_sayHi就指向了函數 sayHi,就能夠當作函數名來使用變量

        //使用函數指針調用函數數據類型

        p_sayHi();語法

        

        //函數調用數據

        int sum = sumValue(10, 20);block

        NSLog(@"%d",sum);

        

        //函數指針

        int (*p_sum)(int , int ) = sumValue;

        NSLog(@"%d",p_sum(20,1));

        

        //函數指針int maxValue(int a,int b);

        int (*p_max)(int ,int ) = maxValue;  //定義了一個數據類型爲 int (*)(int ,int) 變量名爲p_max 初值爲maxValue的指針變量, p_max就能夠當作函數名使用

        int result = p_max(10,2);

        NSLog(@"%d",result);

        

        //匿名函數 : 沒有名字的函數

        //block 語法塊

        //block 變量: 存放block語法塊

        //定義了一個數據類型爲void (^)() 變量名爲sayBlock,初值爲^ void (){NSLog(@"沒有名字的函數");}

        //block語法塊 其實就是一個匿名函數,可是他和其餘函數不同 能夠嵌套定義 , 若是想使用block語法塊就須要用對應數據類型的block變量去接收 使用變量進行調用

        void (^sayBlock)() = ^ void(){

            NSLog(@"沒有名字的函數");

        };

        

        //使用block變量

        sayBlock();

        

        //求兩個數之和

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

            return a + b;

        };

        //使用

        sum = sumBlock(1,1);

        NSLog(@"%d",sum);

        

        //寫一個 返回值爲整型 參數爲OC字符串(僅一個參數) 的block,實現將字符串轉換爲整型的功能

        //block回調

        

        int (^ changeBlock)(NSString *) =  ^ int (NSString *str)

        {

            return [str intValue];

        };

        

        int result1 = changeBlock(@"3432");

        NSLog(@"%d",result1);

        

        block 和 變量

        局部變量

        __block 修飾局部變量,告訴block在內部將變量識別爲可變的量

        __block int a = 10;

        

        void (^testBlock)() = ^ void (){

            a ++; //在block內部 將局部變量識別爲不可變的量

            b ++; //在block內部 將全局變量識別爲可變的量

   

            NSLog(@"%d",a);

        };

        

        TESTBLOCK sayBlock = ^ void (){

            NSLog(@"能夠麼");

        };

相關文章
相關標籤/搜索