您的位置:首页 > 移动开发 > IOS开发

iOS9 新特性 泛型

2016-07-23 00:00 323 查看
摘要: iOS9中新增了泛型,用于限制类型。当一个类在声明的时候,某个对象的属性不确定,只有创建的时候才能够确定,可以使用泛型。

iOS9中新增了泛型,用于限制类型。当一个类在声明的时候,某个对象的属性不确定,只有创建的时候才能够确定,可以使用泛型。
泛型放在类型后面,表示限制这个类型。

好处:

提高程序员开发规范,减少交流成本。

从数组或者字段取值都是id类型,不能调用对象的方法,但是使用泛型,就可以了。

就拿数组来说:

// 定义泛型:确定类型 表示数组元素是字符串类型的
@property (nonatomic, strong) NSMutableArray<NSString *> *array;

来看下API是怎么定义的:

@interface NSMutableArray<ObjectType> : NSArray<ObjectType>


例子:

下面我们模仿数组来自定义一个泛型:

需求:假设有个Animal,它有个属性是食物,但是我们定义时并不能确定,只有在创建的时候才能确定,

food 如果用id 来定义,就可以传入任何对象,如果用泛型声明,在创建的时候确定泛型,复制的时候就有提示了,例如下图:



具体定义如下:

Animal声明如下:

//泛型声明
@interface Animal<ObjectType> : NSObject

@property (nonatomic,strong)ObjectType food;

@end

Meat、Grass都是Food的子类。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iOS9 新特性 泛型