泛型在开发中的应用
一、什么是泛型?
泛型将接口的概念进一步延伸,“泛型”的字面意思就是广泛的类型。类、接口和方法代码可以应用于非常广泛的类型,代码与它们能够操作的数据类型不再绑定在一起,同一套代码可以用于多种数据类型,这样不仅可以复用代码,降低耦合性,而且还提高了代码的可读性以及安全性。
二、泛型的用法
1)泛型的类型
__covariant:协变, 子类转父类
__contravariant:逆变,父类转子类
2)泛型声明:在声明类的时候,在类的后面<泛型名称>
//声明泛型
@interface Person<__covariant ObjectType> : NSObject
// 语言
@property (nonatomic, strong) ObjectType language;
3)使用泛型 类型<限制类型>
Person<Chinese *> *p = [[Person alloc] init];
p.language = chinese;
注:不遵守泛型仅仅是报警告
三、泛型在开发中的使用
泛型使用场景:用于限制集合类型或某