码迷,mamicode.com
首页 > 其他好文 > 详细

界面通信之block传值

时间:2016-02-22 16:32:45      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:

block传值有两种方式

?式?: 使?block属性实现回调传值 

?式?: 在?法中定义block实现回调传值

 

方式一比较便于理解而且常用,下面介绍方式一是如何传值的

使用block属性传值和代理传值的步骤基本上是一样的

typedef void(^BaDa)(NSString *, UIColor *);

@interface SecondViewController : UIViewController
@property (nonatomic, retain) UITextField *textField;

//Block声明成属性,一定要使用copy
@property (nonatomic, copy) BaDa bada;

@end
- (void)back {
    
    //执行Block
    if (self.bada != nil) {
        self.bada(self.textField.text, self.view.backgroundColor);
    }
    
    
    [self.navigationController popViewControllerAnimated:YES];
    
}
- (void)next {
    SecondViewController *secondVC = [[SecondViewController alloc] init];
    //对block进行实现
    secondVC.bada = ^(NSString *str, UIColor *color) {
        self.label.text = str;
        self.view.backgroundColor = color;
    };
    [self.navigationController pushViewController:secondVC animated:YES];
    [secondVC release];
    
    
}

 

界面通信之block传值

标签:

原文地址:http://www.cnblogs.com/dabaomo/p/5207378.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!