iOS9新特性之泛型

泛型作用:限制类型

好处:

1.提示开发者集合的类型,提高规范,一目了然

2.编译检测,防止传入不想要数据

3.取值能用点语法

注意:

一般用于可变集合

格式:

泛型声明格式:在声明类型的时候,声明泛型,在类型后面<泛型名称> 例如自定义类<泛型>

泛型定义格式:使用类型才叫定义,类型<限制类型> 例如使用数组

为什么数组能用泛型,因为数组声明了泛型


泛型的开发使用场景:

1)声明类,某个类型不确定,用泛型

2)限制集合类型

//定义泛型@property (nonatomic,strong)NSMutableArray*arr;

_arr =[NSMutableArray array];

[_arr addObject:@"123”];

协变和逆变用于继承类型转换

__covariant(协变):子类转父类

__contravariant(逆变):父类转子类

@interface Person<__contravariant ObjcType> : NSObject

// 子类转父类    

Person*p2 = [[Person alloc] init];        

// 父类转子类    

//Person*p3 = p2;

你可能感兴趣的:(iOS9新特性之泛型)