整理自: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的理解的更多相关文章

  1. c++对象内存布局的理解

    我对c++对象内存布局的理解   引言 结合网上的一些资料,通过自己的一番摸索,得出了一点个人见解.现在写下来,希望与各位同学共同探讨,共同进步. 以下所有代码均是在VS2012下测试. 一个普通的基 ...

  2. C#高级编程笔记 Delegate 的粗浅理解 2016年9月 13日

    Delegate [重中之重] 委托 定义一:(参考)http://www.cnblogs.com/zhangchenliang/archive/2012/09/19/2694430.html 完全可 ...

  3. angularJS中的Promise对象($q)的深入理解

    原文链接:a better way to learn AngularJS - promises AngularJS通过内置的$q服务提供Promise编程模式.通过将异步函数注册到promise对象, ...

  4. 关于C#的委托(delegate)的自我理解

    首先描述一个事情,一个老师饿了,他要去买东西填饱肚子,然后他发现他的学生“小李”在玩,没学习,于是就委托“小李”去帮他买吃的. 根据这件事我们来分析: 首先得有个老师(老师饿了是他的方法,老师买东西也 ...

  5. 对Java“一切皆对象”的理念的理解

    在从HelloWorld到面向对象中,我们将int, float, double, boolean等称为基本类型(primitive type),也就是特殊的类.我们可以将一个整数理解称为一个int类 ...

  6. 如何给循环中的对象添加事件--深入理解JavaScript的闭包特性

    初学者经常碰到的,即获取HTML元素集合,循环给元素添加事件.在事件响应函数中(event handler)获取对应的索引.但每次获取的都是最后一次循环的索引.原因是初学者并未理解JavaScript ...

  7. C++从静态对象的初始化顺序理解static关键字

    问题 首先考虑一个全局变量的初始化顺序问题 在头文件1中: extern int b; ; 在头文件2中: extern int a; ; 源文件中包含了头文件1和头文件2,这种情况下a和b可能的值是 ...

  8. 对Java对象的认识与理解

    今天是我学习编程以来第一次写博客,记下平日学习所得,本来这几日都在学习web框架 但觉得梳理一下之前所学很有必要.毕竟之前学习Java感觉很粗略只是以考试为目的.所以就以<Thinking in ...

  9. object类型对象 ref参数如何理解?

    class Program { static void Main(string[] args) { Student stu = new Student { Name = "老王" ...

随机推荐

  1. Starling 2D框架简介(一)

    本系列是对Introducing Starling pdf的翻译,下文是对adobe开发人员中心的一片日志的转载,地址为http://www.adobe.com/cn/devnet/flashplay ...

  2. 仿LOL项目开发第六天

    仿LOL项目开发第六天 by草帽 OK,因为更新模块已经处理好了,接着开始登陆的编写.那么我们就需要状态机的管理. 所谓状态机就是在哪个状态执行那个状态的代码逻辑: 那么我们开始编写GameState ...

  3. web小流量实验方案

    近期在思考怎么做小流量,在网上搜了一下,总结例如以下: 1.前提,站点pv已经达到了一定的规模,比方上百万pv,不做小流量冒然更新功能,可能会带来大面积流量损失.在这样的前提下须要做小流量实验 2.什 ...

  4. 由学习《软件设计重构》所想到的代码review(一)

    前言 对于一个程序猿来讲怎样来最直接的来衡量他的技术能力和产出呢?我想最直观的作法是看他的代码编写能力,就拿我常常接触的一些程序猿来看,他们买了非常多技术重构类书籍.可是看完后代码编写能力并没有显著提 ...

  5. Ajax技术——与服务器通信

    1. 发送请求 Ajax可以通过XMLHttpRequest对象实现采用异步方式在后台发送请求.通常情况下,Ajax发送请求有两种,一种是发送GET请求,另一种是发送POST请求.但是无论发送哪种请求 ...

  6. iOS:Xcode7以上版本安装镜像文件.dmg

    Xcode:7.0~7.3的镜像如下,点击直接下载安装 xcode7.0:https://developer.apple.com/services-account/download?path=/Dev ...

  7. 集成禅道和svn

    转载:http://www.zentao.net/book/zentaopmshelp/137.html 说明:svn集成功能配置会比较复杂,我们会尽量通过文档来帮助大家配置成功!如果实在配置不成功的 ...

  8. Android -- ListView与ArrayAdapter、SimpleAdapter

    对于ArrayAdapter,里面虽然能添加图片,但只能是相同的图片. 废话不多说: 布局&&list的item布局                                   ...

  9. EasyUI-EasyUI框架入门学习

    前言 新项目的开发前端技术打算采用EasyUI框架(基于EasyUI较为丰富的UI组件库),项目组长将前端EasyUI这块的任务分配给了我.在进行开发之前,需要我这菜鸟对EasyUI框架进行一些基础的 ...

  10. 安装Was liberty之步骤

    安装文件下载:http://pan.baidu.com/s/1dDl8PuL 安装三大步骤:拷贝文件,安装VNC和安装WasLiberty 拷贝文件是将需要的文件InstalMgr1.6.2_LNX_ ...