一篇文章 学会 iOS中的 代理(delegate) 设计模式

1 篇文章 0 订阅
1 篇文章 0 订阅

            代理设计模式,真是挺耐人寻味的,感觉很让人捉摸不透又感觉很有趣的东西!因为原本捉摸不透的代码,方法,披上代理的外衣后,就很有道理,很有意思了!

            各种设计模式,让本来很死板的代码变得灵活多变,各种功能可以在大大简化代码的情况下实现。大大方便了编程工作。

                        来一个简单的代理实现案例:

          这个代理运用的地方是在一个UI界面中(类似新浪手机客户端的界面),点击自定义tabBar中自定按钮,以达到切换窗口控制器的目的。

         1.首先要是要明确谁要做谁的代理,对象A如果是对象B的代理,谁是对象A,谁是对象B。

          这里,我们是让控制器作为自定义tabBar的代理。

          2. 代理中,需要记住的关键是在发出代理请求的类(A)中声明代理人(B)的实例变量,这样就可以保证A 能通过调用B中B代理的方法来完成B代理的事情,即自己代理给B 的事情。

        废话不多说,直接上代码:

      //这里tabBar发出代理请求,并且声明代理的实例变量(delegate)。

      //通知代理,按钮被点击,如果代理(控制器)实现了代理方法,tabBar就可以调用代理(控制器)中的代理方法来完成控制器代理的事情,即tabBar代理给控制器的事情。

 3.代理模式的关键点:

     A完成一件事,但是自己不能完成,于是他找个代理人B 替他完成这个事情,他们之间便有个协议(protocol),B继承该协议来完成A代理给他的事情。
 
      控制器继承了代理协议,实现代理方法。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值