Swift 型別選擇

2022-03-26 12:53:29 字數 519 閱讀 8588

//型別選擇

func test()

class movie: mediaitem

class song: mediaitem

let array = [song(), movie()]

//is測試 型別判斷

for item in array else if item is song

}//as測試 型別轉換

for item in array else if let song = item as? song

}//anyobject可以是任何型別的乙個例項 值型別或引用型別

let someobjects: [anyobject] = [movie(), 1 as anyobject, "33" as anyobject]

print(someobjects)

//any任何型別資料 還可以是函式 閉包等

var things = [any]()

}

Swift 型別轉換

import uikit 1.定義基類 mediaitem 2.定義子類 movie 3.定義子類 song class mediaitem class movie mediaitem class song mediaitem let library movie name movie1 direct...

Swift 型別約束

型別約束 指必須繼承指定的類或者遵循特定的協議 語法 funcsomefunc somet t,someu u 表示函式有兩個引數 somet 和someu 型別分別是t和 u,其中t是 someclass 子類,u 遵循someprotocol 先看非泛型的函式 func findstringin...

Swift 關聯型別

關聯型別 20150106 我的理解 類似是協議裡面的泛型型別 定義協議時使用關聯型別,就不必指定專門的型別,靈活性更高 下面的例子裡,container 協議定義了乙個 itemtype 關聯型別和三個相容要求 1.能通過方法新增乙個新 item 到container 2.能使用count 返回數...