《Objective-C基础教程》第13章 协议
发布日期:2022-02-01 13:46:24
浏览次数:35
分类:技术文章
本文共 882 字,大约阅读时间需要 2 分钟。
13.1 正式协议
1、与非正式协议一样,正式协议包含了方法和属性的有名称列表。
2、不同的是,正式协议要求显式地采用(在@interface声明中列出协议的名称) 3、采用协议之后,类就要遵守该协议,实现该协议的所有方法13.1.1 声明协议
@protocol MySuperDuberProtocol-(void)....//需要实现的方法@end
第一行代码表示MySuperDuberProtocol协议继承于MyparentProtocol协议,因此必须实现两个协议中所有需要实现的方法。
通常可以使用NSObject作为根协议(不要将其与NSObject类混淆)NSObject类复合NSObject协议,这意味着所有的对象都符合NSObject协议13.1.2 采用协议
@interface Car:NSObject{//method}@end
尖括号里面是要实现的协议,如果要实现两个协议,可以
@interface Car:NSObject
采用某个协议,表明该类的对象可以完成两个重要的操作:
1、能够对自身进行编码或解码 2、能够创建自身的副本13.1.3 实现协议
13.2 复制
copy消息会告诉对象创建一个全新的对象,并让对象与接收copy的原对象完全一样
13.2.4 协议和数据类型
可以在数据类型中为实例变量和方法参数制定协议名称,有助于检查代码中的错误,例如
-(void)setObjectValue:(id)object;
13.3 Objective-C 2.0 的新特性
@optional-(void)...//不一定要实现@required-(void)...//一定要实现
13.4 委托方法
委托(delegation)是一个经常与协议共用的特性。委托就是某个对象指定另一个对象处理某些特定任务的设计模式。
使用委托来执行相应方法时,代码首先询问委托是否拥有这个方法的实现,如果实现了,它就会要求委托处理这个方法13.5 小结
转载地址:https://blog.csdn.net/shidesheng5435/article/details/47687501 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年03月26日 08时23分03秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Kotlin打印方法执行耗时
2019-04-26
Unity 之 UGUI Button按钮组件详解
2019-04-26
Angular2工程部署到Tomcat服务器,第一次访问正常,刷新浏览器后报404错误
2019-04-26
【力扣】155. 最小栈
2019-04-26
【力扣】160. 相交链表
2019-04-26
【力扣】167. 两数之和 II - 输入有序数组
2019-04-26
【力扣】168. Excel表列名称
2019-04-26
【力扣】456. 132 模式
2019-04-26
【力扣】82. 删除排序链表中的重复元素 II
2019-04-26
【剑指OFFER】 41. 数据流中的中位数
2019-04-26
【力扣】83. 删除排序链表中的重复元素
2019-04-26
【剑指OFFER】 43. 1~n 整数中 1 出现的次数
2019-04-26
【剑指OFFER】44. 数字序列中某一位的数字
2019-04-26
【剑指OFFER】45. 把数组排成最小的数
2019-04-26
【区块链】使用JAV简易A模拟创建区块链及挖矿
2019-04-26
【力扣】74. 搜索二维矩阵
2019-04-26
【剑指OFFER】46. 把数字翻译成字符串
2019-04-26
【剑指OFFER】47. 礼物的最大价值
2019-04-26
【力扣】90. 子集 II
2019-04-26
【剑指OFFER】48. 最长不含重复字符的子字符串
2019-04-26