iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 25
0
Software Development

Swift 新手上路之30天復刻版型系列 第 25

Day 25 - Swift 型別轉換

在每次宣告的變數或常數,swift 都只能儲存單一型別的資料
https://ithelp.ithome.com.tw/upload/images/20180114/20107699cr3OXPNMJE.png

而 swift 提供了兩種特別的型別

  1. Any
  2. AnyObject

Any 能夠表示為任何型別:
https://ithelp.ithome.com.tw/upload/images/20180114/20107699lcnCjk8YUc.png

而 AnyObject 可表示為任何 class 型別:
https://ithelp.ithome.com.tw/upload/images/20180114/20107699CiFIrAulgW.png

但使用 Any 或是 AnyObject 來宣告常數或變數又會有個問題:特定型別的常數或變數不接受它們。
https://ithelp.ithome.com.tw/upload/images/20180116/20107699Fpe9K95Nlq.png
在上圖例子中,Any 型別可以接受 Int 這個型別,但如果是 Int 型別就只能存 Int,無法接受可能有其他型別的 Any。
https://ithelp.ithome.com.tw/upload/images/20180116/20107699JLPAqAuAlK.png

透過 as! 來強制轉型為我們指定的型別,這時就不再報錯
https://ithelp.ithome.com.tw/upload/images/20180116/20107699MneIgHmqsi.png

使用 as! 需確認能夠轉換成功,如果這裡轉換失敗會報錯,因此可利用 as? 在轉換時失敗時提供給我們一個 nil。


上一篇
Day 24 - Swift 之 enum 語法
下一篇
Day 26 - Swift 類別( class )和結構( struct )
系列文
Swift 新手上路之30天復刻版型30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言