文档章节

Delegate

天边那束阳光
 天边那束阳光
发布于 2014/10/11 19:56
字数 314
阅读 54
收藏 0
点赞 0
评论 0

Delegate使用场合

对象A内部发生了一些事情,想通知对象B

对象B想监听对象A内部发生了什么事情

对象A想在自己的方法内部调用对象B的某个方法,并且对象A不能对对象B有耦合依赖

对象A想传递数据给对象等...结果都一样:对象B是对象A的代理(delegate)(如需要多对多则可使用消息中心)

使用delegate

1.先搞清楚谁是谁的代理(delegate)
2.定义代理协议,协议名称的命名规范:控件类名 + Delegate
3.定义代理方法
    代理方法一般都定义为@optional(代理可以不实现此方法)
    代理方法名都以控件名开头
    代理方法至少有1个参数,将控件本身传递出去
4.设置代理(delegate)对象  (比如myView.delegate = xxxx;)
    代理对象遵守协议
    代理对象实现协议里面该实现的方法
5.在恰当的时刻调用代理对象(delegate)的代理方法,通知代理发生了什么事情
(常见错误:如没有调用代理方法,则确认代理是否实现了该代理方法)


© 著作权归作者所有

共有 人打赏支持
天边那束阳光
粉丝 1
博文 10
码字总数 4787
作品 0
郑州
AFNetworking实现原理理解

NSURLSession: NSURLSession由三个基本模块构成: NSURLSession NSURLSessionConfiguation NSURLSessionTask NSURLSession相对于平时通信中的会话,但本身却不会进行网络数据传输,它会穿件多...

法斗斗 ⋅ 05/09 ⋅ 0

大道至简 | MVC+delegate,架构的方式,简单点

写在前面 MVC架构模式和delegate设计模式是我们最熟悉的架构模式和设计模式,正确运用它们可以轻而易举的将复杂页面打造得简洁明了、层次分明,下面就分享下我的一点心得。 关于MVC 起初,我...

无夜之星辰 ⋅ 05/05 ⋅ 0

Chromium中Thread的创建

在chromium中如何创建线程 创建线程对象后,可以调用Start,或者StartWithOptions指定创建线程的一些选项。 Thread的构造函数里创建了一个idevent,和startevent的WaitableEvent对象,同时把...

yangweigbh ⋅ 05/06 ⋅ 0

iOS Block和代理的区别与使用

理论知识点 NotificationCenter 通知中心:“一对多”,在APP中,很多控制器都需要知道一个事件,应该用通知; delegate 代理委托:“一对一”,对同一个协议,一个对象只能设置一个代理del...

朝雨晚风 ⋅ 05/17 ⋅ 0

智能合约用solidity编程语言开发一个以太坊应用区块链投票实例

智能合约开发用solidity编程语言部署在以太坊这个区块链平台,本文提供一个官方实战示例快速入门,用例子深入浅出智能合约开发,体会以太坊构建去中心化可信交易技术魅力。智能合约其实是“执...

笔阁 ⋅ 04/20 ⋅ 0

聊聊spring cloud gateway的GatewayFilter

序 本文主要研究一下spring cloud gateway的GatewayFilter GatewayFilter spring-cloud-gateway-core-2.0.0.RC2-sources.jar!/org/springframework/cloud/gateway/filter/GatewayFilter.jav......

go4it ⋅ 06/09 ⋅ 0

认真CS丨协变、逆变 & 不变

赋值兼容性:你可以将派生类对象的实例赋值给基类的变量,这叫做赋值兼容性 class Animal { }class dog : Animal { } class Program{ } 协变 上面这段代码,dog是派生自Animal类,它是可以直...

weixin_38239050 ⋅ 05/06 ⋅ 0

C#入门06:大杂烩-MSDN上的C#编程指南

构造函数 静态构造函数用于初始化任何静态数据,或用于执行仅需执行一次的特定操作。在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数。 静态构造函数具有以下特点: 静态构...

极客行 ⋅ 04/19 ⋅ 0

聊聊spring cloud gateway的GlobalFilter

序 本文主要研究一下spring cloud gateway的GlobalFilter GatewayAutoConfiguration spring-cloud-gateway-core-2.0.0.RC2-sources.jar!/org/springframework/cloud/gateway/config/Gateway......

go4it ⋅ 06/08 ⋅ 0

iOS源码补完计划--AFNetworking(一)

目录 前言 AFURLSessionManager AFHTTPSessionManager API注释Demo 参考 前言 AFNetworking第一篇 主要看了看AFURLSessionManager以及AFHTTPSessionManager相关的API AFN概述:《iOS源码补完计...

kirito_song ⋅ 05/15 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

常见数据结构(二)-树(二叉树,红黑树,B树)

本文介绍数据结构中几种常见的树:二分查找树,2-3树,红黑树,B树 写在前面 本文所有图片均截图自coursera上普林斯顿的课程《Algorithms, Part I》中的Slides 相关命题的证明可参考《算法(第...

浮躁的码农 ⋅ 10分钟前 ⋅ 0

android -------- 混淆打包报错 (warning - InnerClass ...)

最近做Android混淆打包遇到一些问题,Android Sdutio 3.1 版本打包的 错误如下: Android studio warning - InnerClass annotations are missing corresponding EnclosingMember annotation......

切切歆语 ⋅ 26分钟前 ⋅ 0

eclipse酷炫大法之设置主题、皮肤

eclipse酷炫大法 目前两款不错的eclipse 1.系统设置 Window->Preferences->General->Appearance 2.Eclipse Marketplace下载【推荐】 Help->Eclipse Marketplace->搜索‘theme’进行安装 比如......

anlve ⋅ 34分钟前 ⋅ 0

vim编辑模式、vim命令模式、vim实践

vim编辑模式 编辑模式用来输入或修改文本内容,编辑模式除了Esc外其他键几乎都是输入 如何进入编辑模式 一般模式输入以下按键,均可进入编辑模式,左下角提示 insert(中文为插入) 字样 i ...

蛋黄Yolks ⋅ 38分钟前 ⋅ 0

大数据入门基础:SSH介绍

什么是ssh 简单说,SSH是一种网络协议,用于计算机之间的加密登录。 如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码...

董黎明 ⋅ 57分钟前 ⋅ 0

web3j教程

web3j是一个轻量级、高度模块化、响应式、类型安全的Java和Android类库提供丰富API,用于处理以太坊智能合约及与以太坊网络上的客户端(节点)进行集成。 汇智网最新发布的web3j教程,详细讲解...

汇智网教程 ⋅ 今天 ⋅ 0

谷歌:安全问题机制并不如你想象中安全

腾讯科技讯 5月25日,如今的你或许已经对许多网站所使用的“安全问题机制”习以为常了,但你真的认为包括“你第一个宠物的名字是什么?”这些问题能够保障你的帐户安全吗? 根据谷歌(微博)安...

问题终结者 ⋅ 今天 ⋅ 0

聊聊spring cloud gateway的RedisRateLimiter

序 本文主要研究下spring cloud gateway的RedisRateLimiter GatewayRedisAutoConfiguration spring-cloud-gateway-core-2.0.0.RELEASE-sources.jar!/org/springframework/cloud/gateway/con......

go4it ⋅ 今天 ⋅ 0

169. Majority Element - LeetCode

Question 169. Majority Element Solution 思路:构造一个map存储每个数字出现的次数,然后遍历map返回出现次数大于数组一半的数字. 还有一种思路是:对这个数组排序,次数超过n/2的元素必然在中...

yysue ⋅ 今天 ⋅ 0

NFS

14.1 NFS介绍 NFS是Network File System的缩写 NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本 NFS数据传输基于RPC协议,RPC...

派派菠菜 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部