本文簡介
本文不會太深入的去了解block只是簡單的介紹一下block的實際使用,總體來說是比較適合沒有使用過block但是想要了解的人計較適用.
block分類
- 無參數無返回值
- 有參數無返回值
- 有參數有返回值
舉個??
無參無返回值
/*** void :就是無返回值
* emptyBlock:就是該block的名字
* ():這里相當于放參數。由于這里是無參數,所以就什么都不寫
*/
void (^emptyBlock)() = ^(){
NSLog(@"無參數,無返回值的Block");
};
emptyBlock();
有參無返回值的
/**
* 調用這個block進行兩個參數相加
*
* @param int 參數A
* @param int 參數B
*
* @return 無返回值
*/
void (^sumBlock)(int ,int ) = ^(int a,int b){
NSLog(@"%d + %d = %d",a,b,a+b);
};
/**
* 調用這個sumBlock的Block,得到的結果是20
*/
sumBlock(10,10);
有參數有返回值的
/**
* 有參數有返回值
*
* @param NSString 字符串1
* @param NSString 字符串2
*
* @return 返回拼接好的字符串3
*/
NSString* (^logBlock)(NSString *,NSString *) = ^(NSString * str1,NSString *str2){
return [NSString stringWithFormat:@"%@%@",str1,str2];
};
//調用logBlock,輸出的是 我是Block
NSLog(@"%@", logBlock(@"我是",@"Block"));