【iOS学步】block回调-2

1.带参数的block

//TestView.h
@property (nonatomic, copy) void (^changeColor) (NSString *test);

//TestView.m
- (void) buttonAction (UIButton *sender){
    self.changeColor(@"Click to change color.");
}

//ViewContrller.m
    self.secVC = [[SecondViewController alloc]init];
    //test for 带参数的block属性
    self.secVC.changeColor = ^(NSString *str) {
        NSLog(@"jump to: %@", str);
        self.view.backgroundColor = [UIColor greenColor];
    };

2.block作为函数参数

//TestView.h
- (void) parameterBlock:(void(^)(NSString *))block;//声明带block参数的函数,这个block参数是参数为NSString的block

//TestView.m
- (void) buttonAction (UIButton *sender){
    self.changeColor(@"Click to change color.");
}

- (void) parameterBlock:(void(^)(NSString *)block){
    self.changeColor = block; //将参数block赋值给属性changeColor的block,则上面触发changeColor的时候,就会触发block
}

//ViewController.m

    //test for block为参数的函数
    [self.secVC parameterBlock:^(NSString *str) {
        NSLog(@"Test for BlockParameter %@", str);
    }];

3.宏定义block

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务