OC-簡單的使用BLOCK

   
    /*
        BLOCK是什麼?
        蘋果推薦的類型,效率高,在運行中保存代碼。用來封裝和保存代碼,有點像函數,BLOCK可以在任何時候執行。
        BOLCK和函數的相似性:
       (1)可以保存代碼
       (2)有返回值 
       (3)有形參
       (4)調用方式一樣。
   
        
        BLOCK注意是事項
     
        1)Block內部可以訪問外部變量;
        2)默認情況下,Block內部不能修改外部的局部變量
        3)給局部變量加上__block關鍵字,則這個局部變量可以在block內部進行修改
    */
    
    
    //創建一個簡單的BLOCK
    void (^blockTest)() = ^{
        NSLog(@"簡單的block");
    };
    
    //調用方式
    blockTest();
    
    //聲明一個BLOCK變量
    void (^blockDemo)();
    
    //創建一個簡單的BLOCK具有返回值
    int (^blockSum)(int,int) = ^(int x,int y)
    {
        return x + y;
    };
    
    blockSum(10,20);
    
    //通過typedef定義BLOCK數據類型
    typedef void(^TestBlock1)(); //定義無參數
    typedef void(^TestBlock2)(int,int); //定義帶參數
    
    TestBlock2 block;
    
    block = ^(int x,int y){NSLog(@"hello world");};

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章