第01天实战技术(03): iOS9新特性之泛型
2017-03-24 00:00
246 查看
#####一、泛型
1.什么是泛型
2.泛型的注意点
2.1泛型的好处
3.泛型的声明
4.自定义泛型
5.泛型的用法
6.泛型的使用场景以及声明、自定义
code
一、自定义一个类,并且这个类可以使用泛型
Person
二、使用
1.什么是泛型
泛型 : 限制类型 为什么要推出泛型? 迎合swift
2.泛型的注意点
id是不能用点语法 // [self.arr addObject:<#(nonnull id)#>] // <#(nonnull id)#> 没有泛型限制 什么类型都可以存放
2.1泛型的好处
泛型仅仅报警告 泛型好处 : 1.从数组中取出来,可以使用点语法 2.给数组添加元素,有提示
3.泛型的声明
泛型的声明 : 在声明类的时候,在类的后面<泛型名称> @property(nonatomic) NSMutableArray<NSString *> *arr; // 只想存放 字符串
4.自定义泛型
自定义泛型? 什么时候使用泛型? 在声明类的时候,不确定某些属性、或者方法类型,在使用这个类的时候才确定,就可以采用泛型 自定义Person , 会编程语言(iOS,Java),在声明Person,不确定这个人会什么,在使用Person才知道这个Person会什么语言 如果没有定义泛型 默认是id @interface Person<ObjceType> : NSObject // 语言 @property(nonatomic) ObjceType language; @end
5.泛型的用法
泛型的用法 : 类型<限制类型> NSMutableArray<NSString *> *arr; Person<iOS *> *p = [[Person alloc]init];
6.泛型的使用场景以及声明、自定义
泛型在开发中使用场景 : 1.用于限制集合类型 为什么集合可以使用泛型? 使用泛型,必须要先声明泛型? ==> 如何声明泛型 自定义泛型? 什么时候使用泛型? 在声明类的时候,不确定某些属性、或者方法类型,在使用这个类的时候才确定,就可以采用泛型 自定义Person , 会编程语言(iOS,Java),在声明Person,不确定这个人会什么,在使用Person才知道这个Person会什么语言 如果没有定义泛型 默认是id
code
一、自定义一个类,并且这个类可以使用泛型
Person
#import <Foundation/Foundation.h> @class iOS; @interface Person<ObjceType> : NSObject // 语言 @property(nonatomic) ObjceType language; // 如果没有指定泛型,默认是id @end --- #import "Person.h" @implementation Person @end
二、使用
Java *java = [[Java alloc]init]; iOS *ios = [[iOS alloc]init]; // 只会ios // 定义泛型 Person<iOS> *p Person<iOS *> *p = [[Person alloc]init]; p.language = ios; // Person *p2 = [[Person alloc]init]; p2.language = ios;
相关文章推荐
- 第01天实战技术(04):iOS9新特性之泛型(协变和逆变)
- 第01天实战技术(05):iOS9新特性之__kindof
- 第01天实战技术(01):iOS9新特性之常见关键字
- iOS9 新特性 泛型
- 整理系列-20161126- Docker 技术入门与实战 摘录(高级特性待补)
- 第04天实战技术(03):block开发使用场景(传值)
- 《MySQL技术精粹:架构、高级特性、性能优化与集群实战》目录
- 第01天实战技术(11):Runtime(交换方法)
- 第01天实战技术(13):Runtime(动态添加属性)
- 最纯粹的直播技术实战03-通过filter进行旋转及卡顿修复
- 第01天实战技术(06):runtime简介
- 第01天实战技术(07):Runtime(消息机制)
- 第03天实战技术(03):网易新闻(处理标题按钮点击)
- ios开发ios9新特性关键字学习:泛型,逆变,协变,__kindof
- 第01天实战技术(08):Runtime(消息机制调用多个参数)
- iOS9新特性,泛型
- 第01天实战技术(14):自动生成属性代码
- iOS9新特性之常见关键字、泛型
- 第01天实战技术(09):方法调用流程
- 第01天实战技术(02): 关键字注意点