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;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 为什么苹果要推出泛型 1.迎合swift2.泛型作用:限制类型 泛型好处: 1.提示开发者集合中是什么类型,提高代...
    gzliq阅读 5,351评论 0 49
  • 泛型:限制类型 开发中使用场景:限制集合中的类型。注意:泛型只能检测方法的调用,换句话说泛型只能用来修饰方法,因为...
    走道牙的人阅读 2,532评论 0 0
  • .苹果为什么推出泛型: 泛型好处: 1.迎合swift 2.提高代码规范,一看便知是什么类型 泛型作用: 1.限制...
    Leessang丶阅读 6,457评论 0 0
  • 泛型:限制类型 __covariant(协变):用于泛型数据强转类型,可以向上强转,子类 可以转成 父类__con...
    我勒个去的阅读 2,615评论 0 0
  • 很多小伙伴都仅仅知道泛型是限制类型的,其他的就不太清楚了,下面给大家详细讲解一下泛型,以及协变和逆变。 泛型作用:...
    岩大大阅读 4,688评论 0 1

友情链接更多精彩内容