swift基礎語法-類型轉化 as? as!


1. 常見的類型轉化符號

1.1 is : 用于判斷一個實例是否是某一種類型**
// 1.定義數組
let array : [AnyObject] = [20, "cdh", 1.88]

// 2.取出數組中的第一個元素
let objc = array.first!

// 3.判斷第一個元素是否是一個Int類型
if objc is Int {
    print("是Int類型")
} else {
    print("非Int類型")
}
1.2 as?as! 的使用
  • 1.將NSObject轉成具體的類型
  • 2.as? 將NSObject轉成一個可選類型(掌握)
  • 3.as! 將NSObject轉成一個具體的類型(注意:如果轉化不成功,程序會崩潰)
// 4.將objc轉成真正的類型來使用
// 4.1.as? 將AnyObject轉成可選類型,通過判斷可選類型是否有值,來決定是否轉化成功了
let age = objc as? Int
print(age) // 結果:Optional(12)

// 4.2.as! 將AnyObject轉成具體的類型,但是注意:如果不是該類型,那么程序會崩潰
let age1 = objc as! Int
print(age1) // 結果:12
// 2.1 定義字典
let infoDict = ["name" : "CDH", "age" : 18 , "height" : 1.88]
let name = infoDict["name"]
if let name = name {
    // 將 NSobject 轉為 String 的可選類型
    let name = name as? String
    // 使用name
    if let name = name {
        print(name.characters.count)
    }
}
// 簡單寫法一:
if let name = infoDict["name"]{
    if let name = name as? String{
        print(name.characters.count)
    }
}
// 簡單寫法二:
if let name =  infoDict["name"] as? String{
    print(name.characters.count)
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容