1. 程式人生 > >swift-型別轉換(as?和as!)

swift-型別轉換(as?和as!)

// 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