swift-型別轉換(as?和as!)
阿新 • • 發佈:2018-12-26
// 1, as? as! 的用法 -> 將any型別裝換成具體的型別
let dic : [String : Any] = ["name" : "zhang", "age" : 13]
// 2.1 通過as? 轉成我們需要的型別
// as?, 通過as? 轉成的型別是一個可選型別,系統會自動判斷tName是否會轉成String型別,如果可以轉成,那麼獲取字串;如果轉不成,就會得到nil
let tName = dic["name"]
let name = tName as? String
if let name = name {// 最終要用的name就是這樣獲取
print(name)
}
// 一般在開發中這樣寫
if let name = dic["name"] as? String{
print(name)
}
// 2.2, as! 用法
// 通過as! 可以轉換成具體的型別
// 注意:如果轉化不成功,程式會崩潰
// 建議:如果確定轉化成,再使用as!
let tName2 = dic["name"] //如果key寫錯了,就會導致轉換失敗程式崩潰
let name2 = tName2 as! String