Effetive Objective - C 1.Objective 23.委托与数据源协议进行对象间通信
来源:互联网 发布:c4d r16 mac安装 编辑:程序博客网 时间:2024/05/21 22:37
委托:A要做something 但是自己不想做 于是让B去做 但是怎么帮正B一定可以做something??? 这就要求B一定遵从某个协议 而遵从这个协议的对象都可以做something
A
{
property (assign,..) id<协议> delegate;delegate就是B
}
协议
{
dosometheing
}
B<协议>
{
fun{
a.delegate = self
}
dosomething{
}
}
为什么在A中要用assign:因为B 是拥有A 如果A 又拥有B 了那么会导致循环包含
如果不想向外部公布协议 可以在类扩展中生命协议
当用到协议中的方法为可选方法时 使用时要进行类型的校验(respondsToSelector)
如果在类其实只需要判断一次responsToSelector 然后将其缓存到对象 这样就不会执行多次判断了
委托也可以用来在两个对象直接传递某些数据
0 0
- Effetive Objective - C 1.Objective 23.委托与数据源协议进行对象间通信
- Effetive Objective - C 1.Objective 22.理解NSCopying协议
- Effetive Objective - C 1.Objective 14 类对象
- Effetive Objective - C 1.Objective 概述
- Effetive Objective - C 1.Objective 6.属性
- Effetive Objective - C 1.Objective 9
- Effetive Objective - C 1.Objective 消息转发
- Objective-c 协议与委托
- objective-c 委托与协议
- Effetive Objective - C 1.Objective8.;理解对象等同性
- objective-c协议 委托
- Objective - C 委托/协议
- Effetive Objective - C 1.Objective 7.在对象内部尽量直接访问实例变量
- Effetive Objective - C 1.Objective 18.尽量使用不可变对象
- 编写高质量OC代码52建议总结:23.通过委托与数据源协议进行对象间通信
- Objective-C中的协议与委托
- Effetive Objective - C 1.Objective 3.多用字面量语法
- Effetive Objective - C 1.Objective 16.全能初始化方法
- yii邮件发送
- discuz!X3分类信息调用-主题列表页调用分类信息字段
- POJ 1961 字符串 KMP (i-next[i])
- poj 3169 差分约束
- php从mysql取出int数据,变成了string
- Effetive Objective - C 1.Objective 23.委托与数据源协议进行对象间通信
- Android总结篇系列:Android广播机制
- [leetcode] 110. Balanced Binary Tree
- Oracle中有关Group by 中avg();sum();min();max();count();的运用整理(Oracle的执行顺序)
- 阿里2017校园招聘电话面试总结
- 数据挖掘的一些评价标准
- xshell传输文件
- POJ3308
- C语言实现 螺旋数 方阵