在Swift中,通常使用is和as操作符来实现类型检查和转换。下面通过样例来演示使用方法,首先定义几个类。
//基类,动物
class Animal{
}
//狗
class Dog:Animal{
}
//猪
class Pig:Animal{
}
1、is 用来做类型检查
(注意:is也可以用来检查某个类是否遵循了某个协议)
let dog = Dog()
let pig = Pig()
let arr = [dog,pig]
for animal in arr {
if animal is Dog {
print("这是只狗")
}else if animal is Dog {
print("这是只猪")
}
}
2、as 用来做类型转换
(注意:如果不确定类型转换能否成功,可以在as后面加问号“?”)
let dog = Dog()
let pig = Pig()
let arr = [dog,pig]
for animal in arr {
if let d = animal as? Dog {
print("这是只狗")
}else if let p = animal as? Pig {
print("这是只猪")
}
}
原文出自:www.hangge.com
网友评论