zoukankan      html  css  js  c++  java
  • 代理

    设置代理的目的是为了降低类耦合度   

    如下是比较标准的代理写法

    当自身的代理有可以响应的方法时

    if ([self.delegate respondsToSelector:@selector(setTitle:)])

    才去调用这个代理

     {

       [self.delegate setTitle:self.btn.titleLabel.text];

     }

    和起来就写成如下

    在类a中

    1.声明代理中包含的方法

    2.设置代理属性,指定触发方法

    -(void)doneClick:(UIButton *)btn{

        if ([self.delegate respondsToSelector:@selector(setTitle:)]) {

            [self.delegate setTitle:self.btn.titleLabel.text];

        }

    }

    假设类b是响应者

    3.响应者要先遵循代理协议,然后a.delegate = self,最后才能执行代理方法

    与block 通知中心等方法相比,代理是工作中最常用也是大家最容易接受的方法!初学的朋友们一定要掌握!

  • 相关阅读:
    C# 设计模式-状态模式
    C# 设计模式-备忘录模式
    C# 设计模式-命令模式
    本地易优安装总结
    视频自动添加字幕
    百度商桥安装
    百度统计
    模板
    百度地图API
    栅格布局的理解
  • 原文地址:https://www.cnblogs.com/isItOk/p/4777091.html
Copyright © 2011-2022 走看看