【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

全部评论

相关推荐

点赞 评论 收藏
分享
06-19 19:06
门头沟学院 Java
码农索隆:别去东软,真学不到东西,真事
点赞 评论 收藏
分享
头顶尖尖的程序员:我也是面了三四次才放平心态的。准备好自我介绍,不一定要背熟,可以记事本写下来读。全程控制语速,所有问题都先思考几秒,不要急着答,不要打断面试官说话。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务