首页 > 移动平台 > 详细

iOS页面传值之Block传值

时间:2014-11-27 18:04:45      阅读:323      评论:0      收藏:0      [点我收藏+]

场景A控制器中有一个Label  B控制器中有一个文本输入框textField

A push 到B 当,B返回A时,我们让B中文本框的内容展示到A中去

 

第一步:

  在B中定义Block

#import <UIKit/UIKit.h>

typedef void(^PassValueOption)(NSString*);

@interface ZPViewControllerB : UIViewController

@property(nonatomic,copy)PassValueOption option;

@end

 

第二步:

  在A 准备向B push之前

  ZPViewControllerB* Vc=[[ZPViewControllerB alloc]init];//初始化一个B控制器

  //为B控制器Vc 的option 这个Block赋值

  //当然,我们先要取得self

    __weak typeof(self) weakSelf=self;

      Vc.option=^(NSString* str){

          weakSelf.textLabel.text=str;//意思是当你想调用这个block的时候只要传一个NSString进来,就会改变textLabel的文字

      };

第三步:  当B控制器要返回A的时候,可以在pop中写  也可以在viewWilldisAppear中写

  //执行self.option 这个块代码

  

  self.option(self.textField.text);

 

至此,返回A控制器的时候,你会发现Label的文字已经改变

iOS页面传值之Block传值

原文:http://www.cnblogs.com/ZippoatiOS/p/4126648.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!