zoukankan      html  css  js  c++  java
  • QF——iOS代理模式

    iOS的代理模式:

      A要完成某个功能,它可以自己完成,但有时出于一些原因,不方便自己完成。这时A可以委托B来帮其完成此功能,即由B代理完成。但是这个功能不是让B随随便便任其完成。此时,会有一个协议文件,里面定义了完成该功能的方法规范。B得实现这个协议,严格按照协议里定的规范完成。这就是iOS代理模式的基本思想。

    步骤:

      <1>定义一个协议:@protocal 。里面只声明方法,确定了该方法的规范(返回值和参数等)

      <2>给A添加代理属性。代理的类型必须是id<xxx> 。即为“实现了xxx协议的任何对象”。任意对象,只要你实现了xxx协议。

        @property  id<xxx> delegate 

      <3>使B类实现xxx协议,并实现协议里的方法。

      <4>在A里设置代理为b。self.delegate = b;

    当A需要实现此功能时,应该先判断自己的属性_delegate是否已经了此方法,若实现了,调用就行了。

    代理模式传值:

      在iOS里,代理模式有很多用处。比如可以用来在不同界面间传值,而且通常是用在把当前界面的值传给上一个界面。

      这篇博文总结地很好:点击

      

          

  • 相关阅读:
    smarty语法
    combobox里面显示checkbox
    requirejs打包项目
    datagrid中用tooltip
    combobox默认值为第一个数据,修改为空值
    easyui-textbox高为0
    C++并发编程 异步任务
    C++并发编程 互斥和同步
    C++并发编程 thread
    C++智能指针
  • 原文地址:https://www.cnblogs.com/wangerxiansheng/p/4357972.html
Copyright © 2011-2022 走看看