Swift - 类型判断is 与 类型转换as

149 篇文章 0 订阅
33 篇文章 0 订阅

http://www.hangge.com/blog/cache/detail_693.html


在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 ( "这是个女人" )
     }
}

原文出自: www.hangge.com   转载请保留原文链接: http://www.hangge.com/blog/cache/detail_693.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值