91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Objective-C之Blocks

發布時間:2020-04-01 03:33:17 來源:網絡 閱讀:418 作者:Aonaufly 欄目:開發技術

OC中Blocks(塊)相當于其他語言C#,AS等等中的方法嵌套的方法。所以它寫在函數或者方法的內部。塊是以“^”為標識的。
如 :

^(void)
{
                NSLog(@"I am Aonaufly");
}

^后面的括號之中是一個參數列表 , 因為沒有參數所以寫void。
通用 , 可以將一個塊聲明成一個變量:

        void (^print_message)(void) = ^(void){
            NSLog(@"I am Aonaufly");
        };

意思是:
等號(=)左邊的print_message 沒有參數和返回值的塊。
在main中聲明并調用一下:
Objective-C之Blocks

結果為:
Objective-C之Blocks

現在來看看帶參數的情況:

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        void (^hasParam)(int) = ^( int u ){
            NSLog(@"param is %d" , u);
        };
        hasParam(12);
    }
    return 0;
}

可以看出:
hasParam只是給出了參數的類型(多個參數使用,隔開),并沒有給出參數的名稱 。而在右邊的塊中就相對應的給出了參數類型及其參數名稱。
結果為:
Objective-C之Blocks

如何寫帶有返回值的塊。

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        int (^hasParam)(int) = ^( int u ){
            return u;
        };
        NSLog(@"hasParam return is %d" , hasParam(12));
    }
    return 0;
}

可以看出 : 如果想要有返回值 , 則直接在等號最左邊加一個返回的類型 , 本例返回的是int:
Objective-C之Blocks

結果:
Objective-C之Blocks

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临泽县| 玉山县| 新平| 白银市| 青海省| 图木舒克市| 徐汇区| 万州区| 成安县| 牟定县| 阳信县| 和林格尔县| 迭部县| 读书| 集安市| 漯河市| 南岸区| 南充市| 吉林市| 乌拉特中旗| 马龙县| 黑水县| 旺苍县| 潼南县| 远安县| 江山市| 铁岭市| 介休市| 平乡县| 广安市| 繁峙县| 达孜县| 浮山县| 新化县| 含山县| 和静县| 荥阳市| 仲巴县| 赤城县| 辽源市| 永城市|