gpt4 book ai didi

objective-c - 协议(protocol)与类别

转载 作者:IT老高 更新时间:2023-10-28 11:48:32 26 4
gpt4 key购买 nike

谁能解释Objective-C中ProtocolsCategories之间的区别?你什么时候使用一个而不是另一个?

最佳答案

协议(protocol)与 Java 中的接口(interface)相同:它本质上是一个约定,“任何实现此协议(protocol)的类也将实现这些方法。”

另一方面,类别只是将方法绑定(bind)到类。例如,在 Cocoa 中,我可以为 NSObject 创建一个类别,这将允许我向 NSObject 类添加方法(当然还有,所有子类),即使我真的无法访问 NSObject

总结一下:协议(protocol)指定类将实现哪些方法;类别将方法添加到现有类。

因此,每种方法的正确用法应该很清楚:使用协议(protocol)声明类必须实现的一组方法,并使用类别向现有类添加方法。

关于objective-c - 协议(protocol)与类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/360992/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com