委托是delegate(笑),delegate就是将某个方法 要求外部方法来实现.通常是传参数和数据
delegate是cocoa中实现 MVC的一种重要机制.
举例说.假如我用自己的代码重现一个TableView的话. 在TableView的代码实现里.就用protocol 定义了Delegate和Datasource(都是delegate)应该提供的一些方法和参数传进来.
property的声明属性通常用的是assgin,
为什么说通常.假如delegate 比如说 我们写的tableViewController 是tableView的 ref holder的话.那么 显然TableViewController的生存周期是大于等于tableView的 这个时候用assgin,是可以保证任何时候 访问delegate总是不会叫到野指针.
但有一些情况是这样的举例说我创建了一个请求比如网络连接的.而且把自己作为delegate传给了这个 request.那么这里就需要解决一个问题.首先有没有可能在这个请求返回的时候(异步的)这个请求的类已经不存在了或者改变了.这里得看具体情况,具体处理.
通常来说不建议 delegate用 retain 这样容易造成抱死.既相互retain 造成一个instrument都可能无法发现的leak 而且通常是大块的leak

转载于:https://www.cnblogs.com/sqq521/archive/2012/10/17/2728291.html

12.委托是什么?委托的property声明用什么属性?为什么?相关推荐

  1. C语言中的函数指针、函数的直接/间接调用、C# 委托(自定义委托、内置泛型委托、委托的实例化、委托的一般使用(模板方法、回调方法)、泛型委托、多播委托、同步/异步使用委托)

    文章目录 C语言中的函数指针 函数的直接调用与间接调用 Java中没有与委托对应的功能实体 C# 委托 C# 自定义委托类型 C# 内置泛型委托类型 委托的实例化 委托也支持泛型的使用 委托的一般使用 ...

  2. C#学习记录(七)委托、高级委托

    目录 1.什么是委托 2.委托的一般使用 3.多播(multicast)委托 1.什么是委托 委托(delegate)是函数指针的升级版 实例C/C++中的函数指针 一切皆地址 变量(数据)是以某个地 ...

  3. C# 委托 (一)—— 委托、 泛型委托与Lambda表达式

    C# 委托 (一)-- 委托. 泛型委托与Lambda表达式 2018年08月19日 20:46:47 wnvalentin 阅读数 2992 版权声明:此文乃博主之原创.鄙人才疏,望大侠斧正.此文可 ...

  4. C# 委托、匿名委托、Lambda表达式详解

    文章目录 委托 委托概述 声明委托类型 创建委托对象 给委托赋值 组合委托 为委托添加方法 从委托移除方法 调用委托 委托的示例 调用带有返回值的委托 调用带有引用参数的委托 匿名方法 使用匿名方法 ...

  5. 委托学习——4. 委托的高级使用

    1. 多播(Multicast)委托:一个委托内部封装多个方法 使用形式如下 action1 += action2;//action1先把action2封装 action1 += action3;// ...

  6. C#委托,多播委托,匿名委托,事件

    委托 委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递.事件是一种特殊的委托. 委托是方法的抽象,它存储的就是一系列具有相同签名和返回类型的方法的地址.调用委托的时候,委 ...

  7. c# 委托 与事件——委托(加深理解)

    接触c# 已经有段时间,也在项目中历练了一段时间.回头看一看,是时候总结下这段时间的不足,给自己的模糊处,做个标记.首先是: 事件与委托 原因:应用频繁,使用方便 c#委托(Delegate) 首先委 ...

  8. 委托、多播委托(MulticastDelegate)

    委托.多播委托(MulticastDelegate) 多播委托(MulticastDelegate)继承自 Delegate ,表示多路广播委托:即,其调用列表中可以拥有多个元素的委托.实际上,我们自 ...

  9. C#中的三种委托方式:Func委托,Action委托,Predicate委托

    C#中的三种委托方式:Func委托,Action委托,Predicate委托. Func,Action,Predicate全面解析 首先来说明Func委托,通过MSDN我们可以了解到,Func委托有如 ...

最新文章

  1. orcle与mysql的区别_Orcle与MySQL的SQL语法区别:
  2. PyQt的Layout的比例化分块。
  3. 优化 Golang 分布式行情推送的性能瓶颈
  4. 获取当前日期时间并格式化 - 常见格式
  5. 浙大 pat 1023题解
  6. kubernetes视频教程笔记 (30)-安全-鉴权Authorization
  7. C陷阱与缺陷 个人阅读笔记
  8. 《都在用的商务精英礼仪》读书笔记
  9. jenkins k8s 动态增减 jenkins-salve (2) 实现 slave 节点动态构建
  10. Python中利用正则表达式做数据清洗(re)
  11. CHIL-SQL-UCASE() 函数
  12. Win10中如何把语言栏缩到系统托盘
  13. 马云的至暗时刻:支付宝事件、十月围城 | 阿里巴巴20年
  14. 乱发短信的脉脉终于败诉了,网友:早就该判刑了
  15. Android下的配置管理之道之主从gerrit配置使用replication插件
  16. Lua语法小贴士(二)string库
  17. 网站进入前10名的需要的操作
  18. 创业企业如何才能具有国际范儿?瀚思科技告诉你
  19. android 编译 反编译工具-apk改之理
  20. (阿里云)云服务器部署网站(使用宝塔面板)

热门文章

  1. poj2253 Frogger dijkstra
  2. Java版 QQ空间自动登录无需拷贝cookie一天抓取30WQQ说说数据流程分析【转】
  3. Linux文字分段裁剪命令cut(转)
  4. JAVA-集合作业-已知有十六支男子足球队参加2008 北京奥运会。写一个程序,把这16 支球队随机分为4 个组。采用List集合和随机数...
  5. Quartz.NET和Log4Net三种输出[转]
  6. 如何高效的使用vim
  7. CDOJ_327 BerOS file system
  8. 项目调试之小工具---文件名替换
  9. 用vs2005 开发arcims htmlViewer
  10. Microsoft Windows Workflow Foundation 4.0 Cookbook