Objective-C 中的協議(@protocol),依照我的理解,就是C#, Java, Pascal等語言中的接口(Interface)。協議本身不實現任何方法,只是聲明方法,使用協議的類必須實現協議方法。
Objective-C 中的接口(@interface),就是類的一個聲明,不同與C#, Java, Pascal等語言的接口。
Objective-C 中的類必須要有接口,但不一定都要有協議。使用協議的類,必須實現協議中的方法。
Objective-C 中的父類中如果已經使用了協議(@protocol),並實現了協議中的方法,那么其子類就要添加相同的協議(@protocol),也不需要再重復實現協議中的方法,除非必要。這和C#, Java, Pascal等語言中的接口(Interface)使用方法一致。