美文网首页
个人读简书——简单知识总结(协议代理)

个人读简书——简单知识总结(协议代理)

作者: 傻傻小萝卜 | 来源:发表于2016-11-17 14:36 被阅读21次

1.协议和代理的区别

<1>协议不是对象,是OC的一种语法,用于声明一组方法,约定调用者可以使用实现者的那些方法

协议不能被单独实例化,只能由类来明文声明,并具体实现。

协议的使用:

(1)指定对象需要实现的方法(必须的和非必须的)

(2)调用时,先判断被调用者是否实现了某个方法

     if([self.delegate respondsToSelector:@selector(textColorChanged:)])

 {  [self.delegatetextColorChanged:self.textColor]; 

}

<2>代理:是A对象指定B对象处理某些特定任务的设计模式,这里的B对象就成为A对象的代理

在OC中协议是实现代理模式的一种方式

协议提供了面向接口编程的一种方式,使用协议,调用者只需要关心被调用者是否能做某些事,而不关心被调用者具体是谁。

这就是为什么代理对象总是被声明成id,也就是说,只要实现了协议,任何类都可以成为代理。

<3>小结

协议是Objective-C 的一种语法,声明了一套方法,而代理是一种设计模式,可以用协议来实现。

使用协议要注意三个问题:

指定对象需要实现的方法。

调用时,先判断被调用者是否实现某方法。

声明为代理的属性,需要定义为 weak。

相关文章

  • 个人读简书——简单知识总结(协议代理)

    1.协议和代理的区别 <1>协议不是对象,是OC的一种语法,用于声明一组方法,约定调用者可以使用实现者的那些方法 ...

  • 简书知识产权简单总结

    在阅读了简书用户协议后,对知识版权的相关内容做个简单总结。 用户的权利 用户拥有在简书上发表的全部原创内容的版权。...

  • Swift代理的使用

    个人总结, 代理的使用需要五个步骤: 1.设置代理协议,定义可选或者必选方法 2 声明一个delegate属性 3...

  • Swift之代理模式

    总结一下Swift代理模式的实现 首先定义一个协议,并在协议下常见实现的action 创建代理的实例 调用代理方法...

  • OC, 协议&代理 及其关系

    OC协议&代理 本文为个人学习思考总结,发表目的是为了获得批评指正,交流想法。 /***************手...

  • 读《社会心理学》第一天:态度和性格影响行为

    今天我开始读这本《社会心理学》的书,我决定把每天读这本书所收获到新知识,全部以个人总结归纳分享给简友们。接下来我就...

  • 笔耕不辍,书写传奇

    个人简书年度总结

  • BLE Mesh代理协议

    什么是代理协议?代理协议的作用?代理协议的原理?代理协议的实现过程?为什么会有代理协议? 1、原理:为什么要使用代...

  • 第十三周第一天笔记之less

    less知识 简书链接less使用总结:less基础知识less使用总结2:less使用总结 单位px,em,re...

  • IOS自定义CALayer,使用代理绘图

    今天使用自定义的CALayer 运用代理的方式绘图,很简单。但是要有一些Quartz2D的知识(有时间总结总结)。...

网友评论

      本文标题:个人读简书——简单知识总结(协议代理)

      本文链接:https://www.haomeiwen.com/subject/walzhttx.html