Home iOS9新特性之泛型
Post
Cancel

iOS9新特性之泛型

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

好处:

提高程序员开发规范,减少交流成本。从数组或者字段取值都是id类型,不能调用对象的方法,但是使用泛型,就可以了。就拿数组来说:

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

如何定义:

1
@interface NSMutableArray<ObjectType> : NSArray<ObjectType>

例子:

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

需求:假设有个Animal,它有个属性是食物,但是我们定义时并不能确定,只有在创建的时候才能确定。food 如果用id 来定义,就可以传入任何对象,如果用泛型声明,在创建的时候确定泛型,复制的时候就有提示了,例如下图:

Animal声明如下:其中Meat、Grass都是Food的子类。

1
2
3
4
5
6
//泛型声明
@interface Animal<ObjectType> : NSObject

@property (nonatomic,strong)ObjectType food;

@end
This post is licensed under CC BY 4.0 by the author.

iOS9新特性之常见关键字

static 和 const 联合使用