【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

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-10 13:54
点赞 评论 收藏
分享
炫哥_:为什么都读硕士了?项目还是网上的项目(真心发问)
最后再改一次简历
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-10 14:10
啊啊啊啊好幸福,妈妈是我找工作发疯前的一束光
黑皮白袜臭脚体育生:看了这篇帖子之后已经第一百次质问老妈,仍然没有得到我的老妈是老板的回答
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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