swift 經(jīng)扯可以看了as 關(guān)鍵字赴涵,有時(shí)候后面還帶了"!"或者"?"。在網(wǎng)上查閱了好幾次订讼,用得時(shí)候還是混淆髓窜。索性當(dāng)筆記記錄下,加深印象和理解欺殿。
1. as使用場合
(1)從派生類轉(zhuǎn)換為基類寄纵,向上轉(zhuǎn)型(upcasts)
(2)? 消除二義性,數(shù)值類型轉(zhuǎn)換
(3) switch 語句中進(jìn)行模式匹配
2. as!使用場合?
向下轉(zhuǎn)型(Downcasting)時(shí)使用脖苏。由于是強(qiáng)制類型轉(zhuǎn)換程拭,如果轉(zhuǎn)換失敗會(huì)報(bào)runtime運(yùn)行錯(cuò)誤。
3. as?使用場合
as?和as!操作符的轉(zhuǎn)換規(guī)則完全一樣棍潘。但as?如果轉(zhuǎn)換不成功的時(shí)候便會(huì)返回一個(gè)nil對(duì)象恃鞋。成功的話返回可選類型值(optional),需要我們拆包使用亦歉。
由于as?在轉(zhuǎn)換失敗的時(shí)候也不會(huì)出現(xiàn)錯(cuò)誤恤浪,所以對(duì)于如果能確保100%會(huì)成功的轉(zhuǎn)換則可使用as!,否則使用as?