在Swift中,通常使用is和as操作符来实现类型检查和转换。下面通过样例来演示使用方法,首先定义几个类。
|
1
2
3
4
5
6
7
8
9
10
11
|
//基类,人类class Human{}//男人类class Man:human{}//女人类class Woman:human{} |
1,is 用来做类型检查
(注意:is也可以用来检查某个类是否遵循了某个协议)
|
1
2
3
4
5
6
7
8
9
10
11
|
let man = Man()let woman = Woman()var arr = [man,woman]for people in arr { if people is Man { println("这是个男人") }else if people is Woman { println("这是个女人") }} |
2,as 用来做类型转换
(注意:如果不确定类型转换能否成功,可以在as后面加问号“?”)
|
1
2
3
4
5
6
7
8
9
10
11
|
let man = Man()let woman = Woman()var arr = [man,woman]for people in arr { if let m = people as? Man { println("这是个男人") }else if let w = people as? Woman { println("这是个女人") }} |