學習block時的一些筆記

2021-08-31 16:16:31 字數 415 閱讀 7697

1.完整寫法

void(^ blockname)(arg)=void^(arg){};

2.block 可以使用擷取到的自動變數,但是不允許修改重新賦值。

例:int m=3;

char* str1="str1";

void(^block1)(void)=^() __main_block_desc_0_data = ;

int main(int argc, char * argv) ;__weak : 打破強引用鏈 即_tom物件強引用block物件,block物件強引用_tom物件

__strong:在block中宣告了乙個區域性變數,暫時「強引用」_tom物件,由於block並不會強引用block內部宣告的__strong修飾的區域性變數。所以這樣即保證了在block呼叫時_tom物件存在又不會造成迴圈引用。

block 的一些理解

typedef qglabel block3 uicolor color inte ce qglabel uilabel property nonatomic,copy block3 block2 property nonatomic,copy block3 block3 end implement...

Block的一些簡單理解

這是我在網上學習block的時候搜尋到的博文 加入了一些自己的粗淺理解 開始引了框架的標頭檔案 import 在這裡用typedef 定義了乙個叫做compareblock,返回值為int型別引數為int a,int b的block typedef int compareblock int a,in...

關於block的一些理解

之前一直都是用這別人或者是系統系統封裝好的block,用這都挺好,可以訪問那些定義了block變數的函式變數在block中使用。首先總結乙個block的用法 1 block有些類似於函式的指標 擁有返回值,引數名稱 例 void useblock int a,int b 2 可以用typedef來定...