Swift检查类型
检查类型(Checking Type)
用类型检查操作符(is
)来检查一个实例是否属于特定子类型。若实例属于那个子类型,类型检查操作符返回true
,否则返回 false
。
下面的例子定义了两个变量,movieCount
和 songCount
,用来计算数组library
中 Movie
和 Song
类型的实例数量。
var movieCount = 0
var songCount = 0
for item in library {
if item is Movie {
++movieCount
} else if item is Song {
++songCount
}
}
println("Media library contains \(movieCount) movies and \(songCount) songs")
// prints "Media library contains 2 movies and 3 songs"
示例迭代了数组 library
中的所有项。每一次, for
-in
循环设置 item
为数组中的下一个MediaItem
。
若当前 MediaItem
是一个 Movie
类型的实例, item is Movie
返回 true
,相反返回 false
。同样的,item is Song
检查item是否为Song
类型的实例。在循环结束后,movieCount
和 songCount
的值就是被找到属于各自的类型的实例数量。