// 將 block 作為函數參數
// 1, 如何定義函數參數
//void func( void (^myblock)() ) {
// // 此時已經定義了一個無參數無返回值的 block 作為函數參數
// // 變量的名字就是 myblock
//}
// 2, 如何使用函數調用block
//void func( void (^myblock)() ) {
// myblock();
//}
// 寫一個函數, 將一個 無參數, 無返回值的 block 傳入函數, 讓函數調用
// 寫一個函數, 將一個 有參數, 有返回值的 block 傳入函數, 讓函數調用
// 兩無 void (^myblock)()
void func1( void (^myblock)() ) {
myblock();
}
// 兩有 int (^myblock)(int, int)
int func2( int (^myblock)(int a, int b), int num1, int num2 ) {
return myblock(num1, num2);
}
int main(int argc, const char * argv[]) {
@autoreleasepool {
// 定義一個 block
// void (^myblock)() = ^{ NSLog(@"調用了...."); };
// func1(myblock);
//
//
// func1(^{
// NSLog(@"嘿嘿嘿...");
// });
int res = func2(^int(int a, int b) {
return a + b;
}, 10, 20);
NSLog(@"%d", res);
// func2(^int(int a, int b) {
// <#code#>
// }, <#int num1#>, <#int num2#>)
}
return 0;
}
block 作為函數參數
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
推薦閱讀更多精彩內容
- 簡介 block可以當做匿名函數,可以在兩個對象間將語句當做數據來進行傳遞。具有封閉性closure,方便取得上下...
- @property (nonatomic, copy) int (^block要起的變量名)(int , int)...
- 來做個block的筆記。 block定義 block類型 block傳值 block作為參數的方法定義與調用 bl...
- 這個功能其實做了有一段時間了,一直想寫點東西,又總是寫一半又放下。趁著年前的時間還是多多少少的總結一點把。 最初做...