协议链接



是否可以实现协议链接?

例如,我正在定义一个新协议(协议 A),我想确保它只能应用于符合协议 B 的对象。所以像...

@protocol ProtocolA <NSObject<ProtocolB>>
@end

问题

目标C允许这种类型的行为吗?如果没有,我应该注意设计模式才能达到类似的效果吗?

与其使用内刻协议(这是不正确的格式),只需用逗号分隔每个单独的协议,如下所示:

@protocol ProtocolA <NSObject, ProtocolB>
@end

这是完全合法的。事实上,有数百个 UIKit 协议是按照这些思路声明的。

最新更新