Objective C中可以实现协议吗?

我有一个关于NSDate的类别,如果它可以实现我以前创build的协议将是方便的。 这可能吗? 这是什么正确的语法?

是的,这是可能的。 语法是:

@interface NSDate (CategoryName) <ProtocolName> @end @implementation NSDate (CategoryName) @end 

这是苹果关于这个主题的文档 。

也可以使用类扩展来做到这一点。 我非常喜欢这个私人符合委托协议。 这样做隐藏了作为某些类的委托从公共接口的实现细节,并从标题中删除依赖项。