block用法小計

2021-06-28 01:45:34 字數 466 閱讀 9690

預設情況下,任何block都是在棧中,隨時可能會被**。

對block設定copy屬性,block的記憶體就會放到堆裡面。

book *b = [[book alloc] init];

b.block = ^;

如果像上述寫法block所指向的**塊會強引用book的記憶體位址,使得book物件不能釋放,造成記憶體洩露。

book *b = [[book alloc] init];

// __weak book *b2 = b;

__unsafe_unretained book *b2 = b;

b.block = ^;

如果這樣寫可以實現相同功能,並且不會造成記憶體洩露,__unsafe_unretained和__weak是弱引用,保證堆裡面的book可以被釋放,從而block**塊也能被釋放。

block 基本用法

專門處理 需要重複呼叫的 block 返回值相同,引數相同 在.h檔案中,宣告 typedef void typedefblock nsstring typedef int typedefbock2 inta,intb ibaction testaction id sender oc語言 self ...

Block用法解析

block 塊是對c做出的乙個補充,初次體驗 塊,無比的不適應。古怪的語法確實讓人不易入門甚至精通。但若能夠深入精通block的使用,會給 帶來層次上的提公升。block就是一段在將來被執行的 塊返回值型別 形參型別1 形參1,形參型別2 形參2,塊返回值型別 塊變數名 形參型別1,形參型別2,定義...

Block用法解析

block 塊是對c做出的乙個補充,初次體驗 塊,無比的不適應。古怪的語法確實讓人不易入門甚至精通。但若能夠深入精通block的使用,會給 帶來層次上的提公升。block就是一段在將來被執行的 塊返回值型別 形參型別1 形參1,形參型別2 形參2,塊返回值型別 塊變數名 形參型別1,形參型別2,定義...