Objective-c协议与泛型相同吗?

时间:2015-02-15 15:39:40

标签: ios objective-c

我认为这不是@protocols

我对iOS很新。我试图搜索这个,但不知道该找什么。

斯坦福大学CS193P Course讲座4提到协议有助于告知编译器id类型:

id <UIScrollViewDelegate> scrollViewDelegate 

教师说尖括号表示法(<>)指定协议,以告知编译器期望的内容。

这与Generics在C#中的表现相似,还是完全不同?

1 个答案:

答案 0 :(得分:2)

它们的语法可能看起来相似,但协议和泛型是完全不同的概念。协议类似于C#中的接口。另一方面,Objective-C中没有直接等效的泛型,即使可以使用类型内省作为替代。

来自维基百科:

  

泛型允许类型或方法对各种类型的对象进行操作   同时提供编译时类型安全性。

     

协议或接口是不相关对象相互通信的常用方法。这些是方法和方法的定义   对象达成一致的价值以便合作。

相关问题