类名.h
@property (nonatomic, strong) void(^pushNextPage)(UIButton *button);
类.m里面
#pragma mark - button点击事件
- (void)handlePush:(UIButton *)button
{
self.pushNextPage(button);
}
在VC.m
infoView.pushNextPage = ^(UIButton *button){
};
block作为参数使用的时候
+ (void)networkHandlerGETWithURL:(NSString *)urlString completionHandler:(void (^)(id result, NSURLResponse *response, NSError *error))block{
block(result, response, error);
}
如果在某个需要返回BOOL值的B方法里, 调用了上面这个带有bolck参数的A方法, 是不可以直接在A的block回调的花括号里面直接return BOOL值的, 需要声明一个BOOL的属性, 然后在这个回调的花括号里, 先给这个属性赋值, 出了回调的作用域之后, 在B方法里return这个属性
不带参数的block
@property (nonatomic, strong) void (^hideTwoBottomView)(void);
防止类外没实现block导致的崩溃, 在类内这么对block传值
if (self.didSelectedEnter) {
self.didSelectedEnter();
}