使用delegate进行页面间传值

使用delegate进行页面间传值


在上篇博文中所介绍的项目基础上,本文主要介绍一下如何使用委托来进行页面间参数的传递:

实际上delegate传值的实质就是:比如在AB两个页面,A想要传值给B ,就只要先在A中得到B的指针,然后将想要传的值赋给B,之后跳转。

(A代表BIDMasterViewController,B代表BIDDetailViewController)

    1 首先我们要定义一个协议,此处以传递一个image为例:

  @protocol BIDPassValueDelegate 

  -(void)setTImage:(UIImage *)image;

  @end

   2  在A.h中要定义一个委托(在网上看到说协议借助委托的方式来实现某些功能):  

  @property(strong,nonatomic) id<BIDPassValueDelegate>passDelegate;

   3 在A.m中要设置该委托的对象为B的实例,并进行传值:

  BIDDetailViewController *detail=[[BIDDetailViewController]BIDDetailViewController];

  //设置委托的值为detail即将传值的具体实现过程委托给了B来实现(见步骤4)了,类似于设置了一个指向B的指针,于是可以在此页面A来设置B中的值,即传递了参数!

  self.passDelegate=detail;

  [self.passDelegate setTImage:timage];  //timage为A中的一个值

  4 步骤3中的传值以及设置委托对象为B的实例还建立在B.h中要遵守上述协议,:  

  @interface BIDDetailViewController : UIViewController<BIDPassValueDelegate>

  @property (strong, nonatomic) UIImage *image;

  @end

     B.m中实现协议中的方法

  -(void)setTImage:(UIImage *)image

 {

    self.image=image;

  }




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值