Swift 類型轉(zhuǎn)換
類型轉(zhuǎn)換在Swift4中用于驗證實例的類型。愛掏網(wǎng) - it200.com它用于檢查實例類型是否屬于特定的父類或子類,或者它是否在自己的層次結(jié)構(gòu)中定義。愛掏網(wǎng) - it200.com
Swift 4類型轉(zhuǎn)換提供兩個操作符:
- ‘is’ :該運算符用于檢查值的類型。愛掏網(wǎng) - it200.com
- ‘as’ :該運算符用于將類型值轉(zhuǎn)換為不同的類型。愛掏網(wǎng) - it200.com
類型轉(zhuǎn)換還用于檢查實例類型是否符合特定的協(xié)議一致性標準。愛掏網(wǎng) - it200.com它還檢查類的層次結(jié)構(gòu)、其子類和實例,使其成為相同的層次結(jié)構(gòu)。愛掏網(wǎng) - it200.com
示例
class Subjects {
var physics: String
init(physics: String) {
self.physics = physics
}
}
class Chemistry: Subjects {
var equations: String
init(physics: String, equations: String) {
self.equations = equations
super.init(physics: physics)
}
}
class Maths: Subjects {
var formulae: String
init(physics: String, formulae: String) {
self.formulae = formulae
super.init(physics: physics)
}
}
let sa = [ Chemistry(physics: "Mechanics", equations: "Hertz"),
Maths(physics: "Fluid Dynamics", formulae: "Giga Hertz")]
let samplechem = Chemistry(physics: "Mechanics", equations: "Hertz")
print("Instance physics is: \(samplechem.physics)")
print("Instance equation is: \(samplechem.equations)")
let samplemaths = Maths(physics: "Fluid Dynamics", formulae: "Giga Hertz")
print("Instance physics is: \(samplemaths.physics)")
print("Instance formulae is: \(samplemaths.formulae)")
輸出:
Instance physics is: Mechanics
Instance equation is: Hertz
Instance physics is: Fluid Dynamics
Instance formulae is: Giga Hertz
如何進行類型檢查
“is”運算符用于進行類型檢查。愛掏網(wǎng) - it200.com它檢查實例是否屬于特定的子類類型,并在屬于時返回“true”,否則返回“false”。愛掏網(wǎng) - it200.com
聲明:所有內(nèi)容來自互聯(lián)網(wǎng)搜索結(jié)果,不保證100%準確性,僅供參考。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進行處理。