用類型檢查操作符(is)來檢查一個實例是否屬于特定子類型。若實例屬于那個子類型,類型檢查操作符返回true ,否則返回 false 。
下面的例子定義了兩個變量,movieCount 和 songCount,用來計算數(shù)組library 中 Movie 和 Song類型的實例數(shù)量。
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"
示例迭代了數(shù)組 library 中的所有項。每一次, for-in 循環(huán)設(shè)置 item 為數(shù)組中的下一個MediaItem。
若當(dāng)前 MediaItem 是一個 Movie 類型的實例, item is Movie 返回 true,相反返回 false。同樣的,item is Song檢查item是否為Song類型的實例。在循環(huán)結(jié)束后,movieCount 和 songCount的值就是被找到屬于各自的類型的實例數(shù)量。