zoukankan      html  css  js  c++  java
  • iOS的代理和通知

    一、代理和通知的异同

    共同点:

    利用代理和通知都能完成对象之间的通信

    (比如A对象告诉B对象发生了什么事情,A对象传递数据给B对象)

    不同点:

    1>代理:一对一关系(1个对象只能告诉另1个对象发生了什么事情)

    2>通知:多对多关系(1个对象能告诉N个对象发生了什么事情,1个对象能收到N个对象发生了什么事情)

    二、使用代理的优缺点

    1>缺点:

    (1)代理方法较多,比较分散

    (2)要处理一个请求,需要在很多地方编写代码

    (3)不利于逻辑实现、代码编写、调试、维护以及扩展

    (4)尤其当存在多个请求时会变得非常麻烦

    2>优点:

      下载较大文件时,代理的作用将无可替代

     

    三、代理详细说明

    1>关于委托方与代理方:

    委托方:可以是Controller,也可以是View

    代理方:可以是Controller,也可以是View

    但是,当委托方是Controller时,代理方不能为View(我目前没有这样用过)

    2>即

    委托方:View      代理方:View

    委托方:View      代理方:Controller

    委托方:Controller    代理方:Controller

    错误用法:(委托方:Controller    代理方:View)

    3>使用条件

    当代理方在.m中使用到委托方,委托方在.m中设置代理为self,委托方发生事情,可以通知代理方实现相应方法

    只有满足了这种情况,才可以用代理

    四、通知详细使用

    http://www.cnblogs.com/delegate/p/3763955.html

  • 相关阅读:
    HDU1058Humble Numbers(DP)
    HDU1285确定比赛名次(拓扑排序)
    HDU2602Bone Collector(DP,0/1背包)
    HDU1869六度分离(最短路floyd)
    HDU3342Legal or Not(拓扑)
    Dijkstra不能得到含有负权边图的单源最短路径
    HDU1069Monkey and Banana(DP)
    HDU1176免费馅饼(DP)
    DAG上的动态规划
    网络分析中数据包结构的定义
  • 原文地址:https://www.cnblogs.com/yudigege/p/3865683.html
Copyright © 2011-2022 走看看