import uikit
//***************************
//// 1.
定義基類
mediaitem
// 2.
定義子類
movie
// 3.
定義子類
song
////***************************
class mediaitem
}class movie: mediaitem
}class song: mediaitem
}let library = [
movie(name: "movie1",director: "dir1"),
movie(name: "movie2",director: "dir2"),
mediaitem(name: "media1"),
song(name: "song1",artist: "artist1"),
song(name: "song2",artist: "artist2")
]//*****************************************
//// 1.
型別檢查:
// 用is
來檢查乙個
instance
是否屬於特定
class
////*****************************************
var moviecount = 0,songcount = 0
for item in
library else
if item is
song
}moviecount
//2
songcount
//2
//*****************************************
//// 1.
型別轉換:
// 用as
來轉換到它的子型別,
//
用as?
可以轉換的同時強制解包
////*****************************************
for item in
library else
iflet song = item as?songelse
}//*****************************************
//// any
和anyobject
的轉換
// anyobject:
可以代表任何
class
的例項
// any:
可以表示任何型別,除了方法型別
////*****************************************
let someobjarray: [anyobject]= [
movie(name: "movie1",director: "dir1"),
movie(name: "movie2",director: "dir2")]//
逐項轉為
movie
forobject
insomeobjarray
//整個陣列轉換為
[movie]
formovie
insomeobjarrayas[
movie
] var
things: [
any] =
//or var things = [any]()
things.(
0)things.(
0.0)
things.(
7)things.(
12.34)
things.(-
12.34)
things.(
"hello")
//在switch
語句的case
中使用as
來檢查+匹配+
轉換到乙個規定的型別
for thing in
things
}for thing in
things }}
swift 物件型別轉換
swift 中物件是可以轉換的,因為物件導向就會涉及繼承,子類,父類等等 有幾點規則我們先說一下 子類物件可以直接轉換為父類物件的 父類物件可以有條件的轉換為子類物件,這個我們下邊在講 首先我們建立三個類 人 homan 男人 man 男孩 boy man 繼承 homan boy 繼承 homan...
Swift 學習筆記 型別轉換
1 子類的物件賦值為基類 原型類 class entity func showtag 人物類 class hero entity 怪物類 class monster entity var hero entity hero entityname 火女 hero.showtag var monster ...
Swift程式設計十九(型別轉換)
型別轉換是一種檢查例項型別的方法,或者將該例項視為與其自己的類層次結構中的其他位置不同的超類或子類。swift中的型別轉換是使用is和as運算子實現的。這兩個運算子提供了一種簡單而富有表現力的方法來檢查值的型別或將值轉換為其他型別。還可以使用型別轉換來檢查型別是否符合協議,如檢查協議一致性中所述。可...