码迷,mamicode.com
首页 > 移动开发 > 详细

iOS页面传值之Block传值

时间:2014-11-27 18:06:10      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:style   io   ar   os   sp   on   bs   代码   ef   

场景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传值

标签:style   io   ar   os   sp   on   bs   代码   ef   

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

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