我认为这不是@protocols
。
我对iOS很新。我试图搜索这个,但不知道该找什么。
斯坦福大学CS193P Course讲座4提到协议有助于告知编译器id类型:
id <UIScrollViewDelegate> scrollViewDelegate
教师说尖括号表示法(<>
)指定协议,以告知编译器期望的内容。
这与Generics在C#中的表现相似,还是完全不同?
答案 0 :(得分:2)
它们的语法可能看起来相似,但协议和泛型是完全不同的概念。协议类似于C#中的接口。另一方面,Objective-C中没有直接等效的泛型,即使可以使用类型内省作为替代。
来自维基百科:
泛型允许类型或方法对各种类型的对象进行操作 同时提供编译时类型安全性。
协议或接口是不相关对象相互通信的常用方法。这些是方法和方法的定义 对象达成一致的价值以便合作。