//
專門處理:
需要重複呼叫的
block(
返回值相同,引數相同
)在.h檔案中,宣告
typedef
void
(^typedefblock)(
nsstring
*);typedef
int(^typedefbock2)(
inta,
intb);
- (ibaction)testaction:(id)sender ];
//oc語言
[self userblockwithoc2:^int(int a, int b) ];
[self userblockwithoc3:^int(int a, int b) ];
[self userblockwithoc3:blocktypedef2];
//c語言
useblockwithc(^(nsstring *info) );
useblockwithc2(^int(int a, int b) );
useblockwithc3(blocktypedef2);
}
/****************** block作為 c 引數 *********************/
void useblockwithc(void(^cblock)(nsstring *info))
void useblockwithc2(int(^cblock)(int a, int b))
void useblockwithc3(typedefbock2 cblock)
/****************** block作為 oc 引數 *********************/
- (void)useblockwithoc:(void (^)(nsstring *info)) ocblock
- (void)userblockwithoc2: (int (^)(int a, int b)) ocblock
- (void)userblockwithoc3: (typedefbock2) myblock
/******************** block處理 **********************/
//.宣告並賦值定義乙個block變數
int(^blocktest1)(int, int) = ^(int a, int b);
//typedef :宣告並賦值定義乙個block變數
typedefblock blocktypedef = ^(nsstring *info);
typedefbock2 blocktypedef2 = ^(int a, int b);
Block基本用法
block在ios開發中使用頻率非常高,現總結一篇block基本用法和大家分享一下 定義格式 返回值 引數 可以使用快捷鍵inline,如果沒有引數或者返回值,返回值和引數都可以省略 和函式功能相似,儲存一段 block的呼叫是直接去呼叫的.block 在person類中定義乙個block屬性 pr...
block用法小計
預設情況下,任何block都是在棧中,隨時可能會被 對block設定copy屬性,block的記憶體就會放到堆裡面。book b book alloc init b.block 如果像上述寫法block所指向的 塊會強引用book的記憶體位址,使得book物件不能釋放,造成記憶體洩露。book b ...
Block用法解析
block 塊是對c做出的乙個補充,初次體驗 塊,無比的不適應。古怪的語法確實讓人不易入門甚至精通。但若能夠深入精通block的使用,會給 帶來層次上的提公升。block就是一段在將來被執行的 塊返回值型別 形參型別1 形參1,形參型別2 形參2,塊返回值型別 塊變數名 形參型別1,形參型別2,定義...