(二十三)[Swift]類型轉(zhuǎn)換與判斷

1.以下面代碼為情境代碼

class Shape{
    
}
class Circle:Shape{
    
}
class Rectangle:Shape{
    
}
var shape  = Shape()
var circle = Circle()
var rect = Rectangle()
var array = Array<Any>()
array.append(circle)
array.append(shape)
array.append(rect)
array.append("aaaa")
array.append({return "aaaaa"})

2.is 用來判斷對象是否屬于某個類或者其子類,相當(dāng)于OC中的isKindOf方法

for item in array{
    if item is Rectangle{
        print("Rectangle:\(item)")
    }else if item is Circle{
        print("Circle:\(item)")
    }
    
}

3.as as? as! 轉(zhuǎn)換

  • as? 轉(zhuǎn)換成功之后是一個optional類型的值,轉(zhuǎn)換失敗為nil
let s1 = shape as? Circle
s1.dynamicType
  • as! 轉(zhuǎn)換成功后是原類型不是目標(biāo)類型赦肋,轉(zhuǎn)換失敗報(bào)錯
let s2 = array.first as! Shape
s2.dynamicType   //Circle.Type
//let s3 = array.first as! Rectangle //報(bào)錯
  • as 當(dāng)編譯器也知道一定能轉(zhuǎn)成功的時(shí)候可以用as
//方式一
let s4 = shape as Shape
s4.dynamicType
//方式二
for item in array{
    switch item {
    case is Circle:
        print("circle")
    case is Rectangle:
        print("rectangle")
    case let s3 as Shape:
        print(s3)
    default:
        break
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末锭部,一起剝皮案震驚了整個濱河市芽狗,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌琳钉,老刑警劉巖似枕,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件求厕,死亡現(xiàn)場離奇詭異戈抄,居然都是意外死亡离唬,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進(jìn)店門划鸽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來输莺,“玉大人,你說我怎么就攤上這事裸诽∩┯茫” “怎么了?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵丈冬,是天一觀的道長嘱函。 經(jīng)常有香客問我,道長殷蛇,這世上最難降的妖魔是什么实夹? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮粒梦,結(jié)果婚禮上亮航,老公的妹妹穿的比我還像新娘。我一直安慰自己匀们,他們只是感情好缴淋,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著泄朴,像睡著了一般重抖。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上祖灰,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天钟沛,我揣著相機(jī)與錄音,去河邊找鬼局扶。 笑死恨统,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的三妈。 我是一名探鬼主播畜埋,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼畴蒲!你這毒婦竟也來了悠鞍?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤模燥,失蹤者是張志新(化名)和其女友劉穎咖祭,沒想到半個月后掩宜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡心肪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年锭亏,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片硬鞍。...
    茶點(diǎn)故事閱讀 40,133評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡慧瘤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出固该,到底是詐尸還是另有隱情锅减,我是刑警寧澤,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布伐坏,位于F島的核電站怔匣,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏桦沉。R本人自食惡果不足惜每瞒,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望纯露。 院中可真熱鬧剿骨,春花似錦、人聲如沸埠褪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽钞速。三九已至贷掖,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間渴语,已是汗流浹背苹威。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留驾凶,地道東北人屠升。 一個月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像狭郑,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子汇在,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 2014年的蘋果全球開發(fā)者大會(WWDC)翰萨,當(dāng)Craig Federighi向全世界宣布“We have new ...
    yeshenlong520閱讀 2,294評論 0 9
  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗(yàn)。 張土汪:刷leetcod...
    土汪閱讀 12,747評論 0 33
  • 132.轉(zhuǎn)換錯誤成可選值 通過轉(zhuǎn)換錯誤成一個可選值,你可以使用 try? 來處理錯誤糕殉。當(dāng)執(zhí)行try?表達(dá)式時(shí),如果...
    無灃閱讀 1,257評論 0 3
  • SwiftDay011.MySwiftimport UIKitprintln("Hello Swift!")var...
    smile麗語閱讀 3,838評論 0 6
  • 5月亩鬼,是勞動的節(jié)日殖告;5月,是青春的節(jié)日雳锋;5月黄绩,也是媽媽的節(jié)日;5月玷过,我們將迎來一個火熱的爽丹、生長向上的、五彩繽紛的夏...
    悅跑慢讀品生活閱讀 159評論 2 2