文档章节

Delegate

天边那束阳光
 天边那束阳光
发布于 2014/10/11 19:56
字数 314
阅读 55
收藏 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)的代理方法,通知代理发生了什么事情
(常见错误:如没有调用代理方法,则确认代理是否实现了该代理方法)


© 著作权归作者所有

共有 人打赏支持
上一篇: 通知机制
下一篇: UITableView
天边那束阳光
粉丝 1
博文 10
码字总数 4787
作品 0
郑州
私信 提问
delegate和protocol

iOS开发上对delegate使用广泛。 记在这里,如果有新人Google到了,希望能有点帮助。 protocol和delegate完全不是一回事,放在一起说,只是因为我们经常在同一个头文件里看到这两个word。 pr...

长平狐
2012/10/09
129
0
[iOS]delegate和protocol

今天上班和同事讨论工程怎么组织的时候涉及到这个话题。 iOS开发上对delegate使用广泛。 记在这里,如果有新人Google到了,希望能有点帮助。 protocol和delegate完全不是一回事,放在一起说,...

Dean83
2012/07/31
0
0
代理利器DeleGate配置举例

DeleGate是一款代理利器,支持代理多种协议(HTTP, FTP, POP3,SMTP,DNS等),支持HTTP反向代理,支持代理转发(支持上游代理),支持多种认证方式。具有丰富的命令行参数,可以很方便地通过启...

西安鲲之鹏
2013/01/04
0
0
在C#中使用代理的方式触发事件

事件(event)是一个非常重要的概念,我们的程序时刻都在触发和接收着各种事件:鼠标点击事件,键盘事件,以及处理操作系统的各种事件。所谓事件就是由某个对象发出的消息。比如用户按下了某...

晨曦之光
2012/03/09
192
0
委托的简单用法

委托的用法简单示例一 usercontrols:里面写法如下: public delegate void ButtonClickHandler(); public event ButtonClickHandler ButtonClick; form1里面定义时间: this.usercontrols.But......

长平狐
2013/03/28
159
0

没有更多内容

加载失败,请刷新页面

加载更多

新手也能看懂,消息队列其实很简单

该文已加入开源项目:JavaGuide(一份涵盖大部分Java程序员所需要掌握的核心知识的文档类项目,Star 数接近 16k)。地址:https://github.com/Snailclimb/JavaGuide. 本文内容思维导图: 消息...

阿里云官方博客
11分钟前
0
0
如何在Chrome浏览器中启动deviceready事件(尝试调试phonegap项目)?

我正在开发PhoneGap应用程序,我希望能够在Chrome中调试它,而不是在电话上调试。但是,我在onGetReady()函数中初始化我的代码,该函数在PhoneGap触发“deviceready”事件时触发。由于Chr...

kisshua
今天
9
0
nginx中部署vue打包后的静态文件

如何在nginx中部署静态资源就不描述了, 请看我的这篇博客 将vue脚手架项目打包后的静态文件放到nginx上, 发现有个问题, 即url上有#, 怎么去掉这个#呢. 1 项目中router的mode 路由的mode要为h...

克虏伯
今天
13
0
JS容易理解错误的地方

在这端代码执行的末尾,你会不会hi变量回事函数中的hi了?你会不会认为这不是按引用传递了? 对值传递和引用传递产生质疑了? 1 var hi = {};2 function sayHello(hi) { ...

器石_
今天
9
0
Java开发学习--MongoDB

之前只学过sql,第一次使用非关系型数据库。以前对于关系型数据库与非关系型数据库的概念很模糊,通过这次的学习对这两者有了一个清晰的概念。 主键 在MongoDB中,主键名叫"_id",如果在生成...

微笑向暖wx
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部