《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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:perfmonce 配置
下一篇:《Objective-C基础教程》第17章 文件加载和保存

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年03月26日 08时23分03秒