在說(shuō)Block的基本使用之前释液,我們先說(shuō)Block在OC中的作用是什么全释?
** 保存代碼的作用。通常用于回調(diào)误债。**
1浸船、Block的聲明
返回值類(lèi)型(^block變量名)(參數(shù)列表)
void(^block)();
2寝蹈、Block的定義(有三種方式定義)
第一種:
返回值類(lèi)型(^block變量名)()= ^{}李命;
void(^block1)() = ^(){
};
第二種:(如果沒(méi)有參數(shù),參數(shù)可以隱藏箫老, 但是如果有參數(shù)封字,定義的時(shí)候必須要有參數(shù),而且參數(shù)要有變量名
返回值類(lèi)型(^block變量名)(參數(shù)列表)= ^(參數(shù)列表){};
void(^block2)(int a) = ^(int a){
};
第三種:不管Block有沒(méi)有返回值流妻, 都可以在等號(hào)后面把返回值類(lèi)型省略
int(^block3)() = ^int{
return 3;
};
3、Block的類(lèi)型
void(^block4)(NSString *) = ^(NSString *str){
return @"name";
};
上面block4的類(lèi)型為: void(^)(NSString *)
我們也可以給block4起別名笆制,類(lèi)型重定義
typedef void(^Block4)(void);
那block4的定義就可以為下面的定義方式:
Block4 block4 = ^(NSString *str){
return @"name";
};
block快捷方式:
inline