觉得协议(protocol)与委托(delegate)比较难,看了好几遍,也不知理解是否正确。记录下来。
协议可以用关键字@protocol来定义,但只定义一系列方法列表,但方法的具体实现没有。
委托(delegate)是类A的事(将事情定义为一个协议(protocol)),将其委托给另一个类B,类B遵守实现协议(protocol),实现协议中具体的方法。所以类A就能通过类B将事情完成。
举个例子说明一下:Person A需要洗衣服,但可以委托给洗衣机洗,Person A只需要开动一下洗衣机就行了,洗衣机就会按照设定的程序将衣服洗完。
如下图所示:
代码如下:
运行结果:
参考书目:《疯狂iOS讲义(基础篇)》(李刚编著 中国工信出版集团 电子工业出版社)
备注:《Objective-C中的协议与委托(delegate)》这篇文章当时发布在同名新浪微博账号,发布时间为2022-06-06日。
文章链接网址:https://weibo.com/ttarticle/p/show?id=2309404777399320707423
截图: