Objective-C 中的协议(@protocol),相当于 C#, Java 等语言中的接口 (Interface)。协议本身不实现任何方法,只是声明方法,使用协议的类必须实现协议方法。
Objective-C 中的接口(@interface),相当于 C#, Java 等语言中的类(Class),是类的一个声明,不同与 C#, Java 等语言的接口。
Objective-C 中的类必须要有接口,但不一定都要有协议。使用协议的类,必须实现协议中的方法。
Objective-C 中的父类中如果已经使用了协议(@protocol),并实现了协议中的方法,那么其子类就要添加相同的协议(@protocol),也不需要再重复实现协议中的方法,除非必要。这和 C#, Java,等语言中的接口(Interface)使用方法一致。