0

我认为,除了名称之外,协议更适合用作类之间的“接口”。它们完成了@interfaces 所做的所有事情(公开属性和方法),并且除此之外,不同的类可以实现相同的协议,这与 Objective-C 的动态特性相结合是一个巨大的优势。那么为什么我们仍然使用@interfaces 呢?与协议相比,它们带来了哪些优势?(我希望从这个问题中得到更多,而不是“他们在做什么时很明确”或“因为没有建设性而封闭”。)

4

1 回答 1

0

委托协议需要这样定义

@protocol 
//methods
@end

它可以放在任何 .h 类中,您只需在要使用它时导入它。

协议不像 java 接口,协议是允许两个类一起工作的适配器。基本上它说,如果您希望 A 类向您发送有关其状态和操作的消息,这些是它将在其委托上调用的方法,您必须实现这些方法。它不像接口,因为接口说如果你想继承这个类,你必须实现这些方法,协议说如果你想与这个类交互,你必须实现这些方法,所以它有些不同。

Objective C 接口、委托和协议

于 2013-04-12T12:39:34.227 回答