iOS泛型

使用泛型的优点

使用泛型的优点有很多:

  • 泛型提供了一个强类型的编程模型
  • 编译时的类型检查减少了运行时发生数据类型转换异常的几率
  • 简化了代码,缓解了代码膨胀。
  • 性能得到了提升,不需要在运行时再做类型检查。
  • 代码的可读性更好,并且有更好的代码智能提示。

其实在最新的XCode 7.X中,苹果也悄悄地加入了Objective-C语言的弱泛型支持,见下面代码。

    NSMutableArray<NSString *>* arrString  = [NSMutableArray new]; //可以在NSMutableArray后面加上数据类型,这样就声明了一个泛型的NSMutableArray

    [arrString addObject:[NSNumber numberWithUnsignedInteger:1]]; //这里编译器会警告你添加了错误的数据类型,但是不会强制报错。

可以在声明NSMutableArray时添加一个弱泛型约束,之所以是弱泛型,是因为编译器会帮你检查数据类型是否正确,如果不正确会有一个警告,但是不会强制报错,代码还是可以编译过的。

iOS泛型_第1张图片


写代码时XCode会自动提示它你应该添加什么类型的数据

iOS泛型_第2张图片


取值也会告诉你里面保存了什么类型的数据



如果你把错误的数据类型存进去,编译器会警告,但不是强制报错。

你可能感兴趣的:(ios,泛型)