当前位置: > > > Swift - 类型判断is 与 类型转换as

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

在Swift中,通常使用is和as操作符来实现类型检查和转换。下面通过样例来演示使用方法,首先定义几个类。
//基类,人类
class Human{
}

//男人类
class Man:human{
}

//女人类
class Woman:human{
}

1,is 用来做类型检查
(注意:is也可以用来检查某个类是否遵循了某个协议)
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后面加问号“?”)
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("这是个女人")
	}
}
评论2
  • 2楼
    2016-02-24 21:58
    hard-working1

    楼主能问下,你这些是自己想着写的还是翻译的啊

    站长回复

    大部分自己写,有些知识点不明白的话会搜索后翻译下,但也不会照搬,还是有加入自己的理解和改造。

  • 1楼
    2015-09-10 18:28
    hetty

    看了不少,留个言,觉得作者很辛苦,致敬

    站长回复

    谢谢!