block的使用
Block 又稱為“塊” 或 “代碼塊”丁恭,作用是用來保存代碼粤咪。
block基本格式:
返回值類型 (^block名) (參數(shù)類型 和 數(shù)量) = ^(形參 和 數(shù)量){
//code
};
1沐寺、使用typedef聲明
typedef 返回值 (^block名) (參數(shù)類型列表)林艘;
@property (nonatomic, copy) block名 block變量名; //要使用copy關(guān)鍵字
并在要調(diào)用的函數(shù)中寫明:
_變量名(參數(shù));
block的實現(xiàn):
對象.block變量名 = ^(形參列表){
可將數(shù)據(jù) (形參)在本類中使用。
}混坞;
//1狐援、聲明block
typedef void(^ActionBlock)(int index);
@property(nonatomic, copy) ActionBlock actionBlock;
//2、實現(xiàn)block代碼
cell.actionBlock = ^(int index){
}
//3究孕、調(diào)用block
if(self.actionBlock){
self.actionBlock( 1 );
}
2啥酱、屬性直接聲明block
@property(nonatomic, copy) void (^complishBlock)();
3、在方法中添加block
格式:
(返回值類型(^)(要傳遞的參數(shù)))block名稱
例如:
- (void)textFieldDidChange:(NSString *)text complishBlock:(void(^)(NSInteger index))complishBlock;
4厨诸、匿名block
void (^actionBlock)(void) = ^{
NSLog(@"****************");
};
actionBlock();//執(zhí)行block