前言 Xcode 7 对系统中常用的一系列容器类型都增加了泛型支持(),有了泛型后就可以指定容器类中对象的类型了. 假如向泛型容器中加入错误的对象,编译器会报警告. __covariant:协变性,子类型可以强转到父类型(里氏替换原则). __contravariant:逆变性,父类型可以强转到子类型. 不指定泛型类型的对象可以和任意泛型类型转化,但指定了泛型类型后,两个不同类型间是不可以强转的, 假如你希望主动控制转化关系,就需要使用泛型的协变性和逆变性修饰符. 1.迭代器 NSArray *…