IOS9新特性之泛型


.苹果为什么推出泛型:

泛型好处:

1.迎合swift

2.提高代码规范,一看便知是什么类型

泛型作用:

1.限制类型(主要是限制集合中是什么类型)

2.从集合中取出来,可以使用点语法,不使用泛型,不能使用点语法.

泛型格式:

声明泛型格式:在声明类型的后面<类型>

@interfacePerson :NSObject

@property(nonatomic,strong) ObjectType language;

ObjectType就是指定的类型

定义泛型格式:在使用类型后面<类型>

ObjectType = NSString *

@property(nonatomic,strong)NSMutableArray *arr;

注意点:泛型仅仅报警告,并不是编译错误.

集合取出来类型都是id,id不能使用点语法.

数组里不能传入nil,真的会报错(运行).

疑问:为什么集合可以使用泛型.

并不是任何系统类型,都可以使用泛型,一般是集合(NSSet,字典,数组)

字典使用泛型格式:NSDictionary

@property(nonatomic,strong)NSDictionary *name;

泛型开发中使用场景(需求):声明类的时候不确定,使用类型创建对象才确定,就可以使用泛型

比如有个人,在声明这个Person类,并不知道会哪些编程语言(iOS,Java),在创建这个人类的时候,才确定他会什么.

自定义泛型?在声明自定义类的时候,声明泛型,在使用自定义类的时候,定义泛型

//创建一个人,java

Person *p1 = [[Personalloc]init];

表示这个人的language属性只能是java

p1.language= java;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 泛型:限制类型 开发中使用场景:限制集合中的类型。注意:泛型只能检测方法的调用,换句话说泛型只能用来修饰方法,因为...
    走道牙的人阅读 316评论 0 0
  • 为什么苹果要推出泛型 1.迎合swift2.泛型作用:限制类型 泛型好处: 1.提示开发者集合中是什么类型,提高代...
    gzliq阅读 1,512评论 0 49
  • 泛型作用:限制类型 好处: 1.提示开发者集合的类型,提高规范,一目了然 2.编译检测,防止传入不想要数据 3.取...
    型仔均阅读 412评论 0 0
  • 泛型:限制类型 __covariant(协变):用于泛型数据强转类型,可以向上强转,子类 可以转成 父类__con...
    我勒个去的阅读 337评论 0 0
  • 今天改写完header文件之后make时发现提醒缺少源文件开头,在经过整理后发现原来是因为在编写完之后没有空出一行...
    Neoyyy阅读 453评论 0 0