Objective C學習筆記 block

2021-07-01 18:20:48 字數 1228 閱讀 3590

一、基本概念

1、block的作用

block封裝了一段**,在任何時候都可以使用。block的標誌是^

2、block的特點

block可以作為函式引數或者函式的返回值,而其本身又可以帶輸入引數或返回值,和函式很像。

二、基本使用

1、定義block變數

(1)無形參、無返回值

void (^myblock)() = ^();
定義了乙個叫myblock的block物件,它沒有引數,沒有返回值。等式右邊就是blocks的具體實現

(2)有形參、有返回值

int (^sumblock)(int, int) = ^(int a, int b);
(3)利用typedef定義block型別

typedef int (^myblock)(int, int);

// 以後就可以利用myblock這中型別來定義block變數

myblock b1, b2;

b1 = ^(int a, int b);

myblock b2 = ^(int a, int b);

2、呼叫block

// 無形參、無返回值

myblock();

// 有形參、有返回值

int c = sumblock(10, 11);

三、使用注意

1、如何利用block封裝**

^(int a, int b);

^();

^;

2、block訪問外面的變數

(1)block內部可以訪問外面的變數

(2)預設情況下,block內部不能修改外面的區域性變數

(3)給區域性變數加上 __block,這個區域性變數就可以在block內部進行修改

__block int a = 10;

// 這樣就能在block**段中修改a的值了

Objective C 學習筆記

1 is a 是乙個 繼承,提高執行效率,減少重複 2 has a 有乙個 復合,物件引用其它物件時,利用其它物件特性。3 返回屬性值的訪問方法,名稱中不能使用get這個詞 4 類名首字母大寫,變數首字母小寫。5 在objective c中所有物件間互動都是通過指標實現的。6 指標值被賦值,只有乙個...

Objective c學習筆記

property是object c的乙個特性,可以讓我們輕鬆實現成員變了的setting和getting方法。具體的語法如下 以成員變數nsstring m name為例 標頭檔案中宣告如下 property nsstring m name m檔案實現 synthesize m name 這樣我們便...

Objective c學習筆記

一 ojective c 建立物件涉及到一下註解 inte ce implementation 前乙個註解定義的是要實現的行為 後乙個註解是實現inte ce定義的行為 1.1在objective c中總共有4個基本資料型別,分別是int float double char 1.2限定詞 限定值有 ...