对象.delegate=self的理解
整理自:http://www.cocoachina.com/ask/questions/show/87430
各位大神,对象.delegate=self是啥意思,委托的意思不就是自己的任务交给其他人去做么,那么按这么理解自己的任务还需要委托么?望高手解惑.谢谢
“委托的意思不就是自己的任务交给其他人去做么”你这么理解是对的
对象.delegate=self的意思就是对象的任务交给self去做 对象!=self
假如你有对象A 对象B
A是B的成员变量
class B
{ member A } 在B中写这么一句“A.delegate=self”
按你的理解 应该是A的任务交给B去完成 理解了没
其实还有两方面的理解: .委托是继承的一种实现。比如A委托 给B , B实现了A中的方法。有点类似B继承了A。 .委托方法能够读取被委托对象的属性和方法,这点可以部分解答了你问的“委托必要性”。 比如A委托 给B,在B中实现的委托方法就可以像A中的其他方法一样访问B中的属性。
自己能做的就不用给别人做了。 把delegate给别人的话,是要别人处理一些数据返回到自己
你是boss,你有个专职秘书,给客户传达文件,需要你自己动手么?告诉小秘,去把这个资料给客户发过去. 小秘送完了,告诉你,老板资料送完了,可以进行下一个流程了.
对象.delegate=self的理解的更多相关文章
- c++对象内存布局的理解
我对c++对象内存布局的理解 引言 结合网上的一些资料,通过自己的一番摸索,得出了一点个人见解.现在写下来,希望与各位同学共同探讨,共同进步. 以下所有代码均是在VS2012下测试. 一个普通的基 ...
- C#高级编程笔记 Delegate 的粗浅理解 2016年9月 13日
Delegate [重中之重] 委托 定义一:(参考)http://www.cnblogs.com/zhangchenliang/archive/2012/09/19/2694430.html 完全可 ...
- angularJS中的Promise对象($q)的深入理解
原文链接:a better way to learn AngularJS - promises AngularJS通过内置的$q服务提供Promise编程模式.通过将异步函数注册到promise对象, ...
- 关于C#的委托(delegate)的自我理解
首先描述一个事情,一个老师饿了,他要去买东西填饱肚子,然后他发现他的学生“小李”在玩,没学习,于是就委托“小李”去帮他买吃的. 根据这件事我们来分析: 首先得有个老师(老师饿了是他的方法,老师买东西也 ...
- 对Java“一切皆对象”的理念的理解
在从HelloWorld到面向对象中,我们将int, float, double, boolean等称为基本类型(primitive type),也就是特殊的类.我们可以将一个整数理解称为一个int类 ...
- 如何给循环中的对象添加事件--深入理解JavaScript的闭包特性
初学者经常碰到的,即获取HTML元素集合,循环给元素添加事件.在事件响应函数中(event handler)获取对应的索引.但每次获取的都是最后一次循环的索引.原因是初学者并未理解JavaScript ...
- C++从静态对象的初始化顺序理解static关键字
问题 首先考虑一个全局变量的初始化顺序问题 在头文件1中: extern int b; ; 在头文件2中: extern int a; ; 源文件中包含了头文件1和头文件2,这种情况下a和b可能的值是 ...
- 对Java对象的认识与理解
今天是我学习编程以来第一次写博客,记下平日学习所得,本来这几日都在学习web框架 但觉得梳理一下之前所学很有必要.毕竟之前学习Java感觉很粗略只是以考试为目的.所以就以<Thinking in ...
- object类型对象 ref参数如何理解?
class Program { static void Main(string[] args) { Student stu = new Student { Name = "老王" ...
随机推荐
- java代码逆向工程生成uml
今天在看一个模拟器的源码,一个包里有多个类,一个类里又有多个属性和方法,如果按顺序看下来,不仅不能对整个模拟器的框架形成一个大致的认识,而且只会越看越混乱,所以,想到有没有什么工具可以将这些个类以及它 ...
- 【GISER&&Painter】Chapter01:WebGL渲染初体验
基于上一篇OpenGL的渲染原理,这两周又陆续接触了一些关于WebGL绘图的一些内容,因为刚入门,很多东西又很晦涩,所以特意花了小半天的时间整理了一下,特此记录. 零 画一个多边形吧! 把一个多边形 ...
- 从两个TIMESTAMP中获取时间差(秒)
When you subtract two variables of type TIMESTAMP, you get an INTERVAL DAY TO SECOND which includes ...
- 一次delete速度异常慢的处理过程
InnoDB delete from xxx速度暴慢原因 博客分类: database MySQLPythonMobile多线程SQL step1,一个简单的联系人表 CREATE TABLE `c ...
- 不要用cudnn7.2,用7.3可以兼容
tensorflow1.11.0 非常的过分了[捂脸]官网上写的cuda 9.0,cudnn 7.2.然而Nvidia官网上根本没有这两个的对应...之前一直都依赖anaconda的一键安装,被惯坏了 ...
- C#文本文件(.txt)读写 [转]
目录 前言 读取txt文件 写入txt文件 前言 计算机在最初只支持ASCII编码,但是后来为了支持其他语言中的字符(比如汉字)以及一些特殊字符(比如€),就引入了Unicode字符集.基于Unico ...
- csm pssm +pcf pcss sdsm
这几个shadow算法 pcf是sample时候用的 按照一个mode采样几个位置 根据采样结果 决定0-1 可以是0.234 这样就不是 0或者1 就是soft了 主要讲下pcss 是啥 因为我之 ...
- ViewFlipper 淘宝头条 轮播 自动切换
ViewFlipper介绍 ViewFilpper类继承于ViewAnimator,而ViewAnimator类继承于FrameLayout. ViewAnimator: Base class ...
- .net 序列化与反序列化
1.序列化 反序列化 C#中如果需要:将一个结构很复杂的类的对象存储起来,或者通过网路传输到远程的客户端程序中去,这时就需要用到序列化,反序列化(Serialization & Deseria ...
- List、Set、Map、数组之间各种转换
刚学Java不久的时候,接到一个电面,然后问了一些java的知识,比如说Java的编码,Unicode等,但是最让我蛋疼的是怎么吗map转为set,那个时候对集合用的很少,对集合不是特别了解,map还 ...