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 通知中心等方法相比,代理是工作中最常用也是大家最容易接受的方法!初学的朋友们一定要掌握!

  • 相关阅读:
    7
    6
    5.1
    5
    C#类库帮助类
    Asp.net 数据库依赖那些事
    C#使用NLog记录日志
    JQuery常用操作实现方式
    常用Sql 标量值函数
    Sql语句查询XML
  • 原文地址:https://www.cnblogs.com/isItOk/p/4777091.html
Copyright © 2011-2022 走看看