浅谈IOS开发中委托(Delegate)的使用

   在IOS开发中,委托协议(deletate)是一个很常用的技术,通常用来实现两个Controller之间的值的传递,那么具体是如何传递的呢?这里举例说明如下:

   假如现在有两个ViewController: A_ViewController和B_viewController:

  (1)定义委托协议

     我们可以定义协议如下:

******************************************************************************************

    @protocol  TransValueDelegate <NSObject>             //定义一个委托协议

      -(void) transValue:(参数类型 *) param;                   // 委托的内容(函数)

   @end

 *****************************************************************************************

这里要注意的是,在协议中列出的方法是没有实现的,这就相当于我们为手表行业建立了一个协议(标准),在改协议下,有对手表生产方法的声明,但是具体如何生产(如型号,尺寸)应该有接受委托方来做。


(2)实现委托协议中的方法

    假如A_ViewController接受了这个委托,则A_ViewController就要遵照协议,进行方法订制。

    #interface A_viewController:UIViewController<TransValueDelegate >       //遵照协议办事

   然后是具体实现:

     -(void)transValue:(参数类型 *) param{

         ....//传值实现

       }


(3)具体应用

     假如现在B_ViewController想委托A_ViewController来实现传值,那么如何做呢?

    首先,要在B_ViewController中声明一个NSobject对象,并遵守TransValueDelegate 协议:

    @propertry (nonatomic, assign) NSObject<TransValueDelegate > *delegate;

   然后利用delegate去调用传值函数,进行传值操作

    [self.delegate  transValue:param ];

   

 通过以上步骤便可实现不同对象之间的相互传值。


       


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值