1. 程式人生 > 其它 >Swift文件Chapter 18 型別轉換

Swift文件Chapter 18 型別轉換

型別轉換可以判斷例項的型別。
如果將多個具有同一個父類的例項初始化成一個數組,那麼陣列的型別將會被推斷為[father's type],陣列每一個元素也都是父類型別,即使他們是使用子類宣告的。

型別檢查

型別檢查操作符is關鍵字可以檢查一個例項是否屬於特定的子型別。如果屬於,那麼返回true,否則返回false

型別轉換

我們使用型別轉換符as?或者as!進行向下轉換。

  • as?:如果可以轉換成功,那麼返回轉換結果;如果不可以轉換成功,那麼返回nil
  • as!:會進行強制的解包,當轉換一個不正確的型別的時候,會觸發執行時錯誤。

型別轉換沒有改變型別的值,根本的例項保持不變。

AnyAnyObject
的例項轉換

  • Any表示任何型別,包括函式型別;
  • AnyObject表示任何型別的例項。

Any陣列可以混合不同的資料型別一起工作。

Any中陣列可以包含可選型別。Swift在使用Any表示可選型別的時候,會彈出警告。如果想使用Any承載可選值,可以使用as Any進行顯式的轉換。