0
我想保留幾個類的數組,並按需求實例化它們。下面是一些演示代碼:如何在Swift中創建一個類(存儲在數組中)?
class AClass {
func areYouThere() -> String {
return "Yes, I am!"
}
}
class FirstClass: AClass {
override func areYouThere() -> String {
return "Yes, I am #1!"
}
}
class SecondClass: AClass {
override func areYouThere() -> String {
return "Yes, I am #2!"
}
}
let className = FirstClass.self
let classReferences: [AClass.Type] = [FirstClass.self, SecondClass.self]
let instanceOfClass = classReferences[0].init()
let test = instanceOfClass.areYouThere()
代碼沒有編譯,但是當我運行它,「測試」將繼續「是的,我在這裏!」 (沒有#1),因爲instanceOfClass是「AClass」的一個實例,而不是「FirstClass」。我猜,我的Array的類型[AClass.Type]是錯誤的。我也嘗試過「AnyClass」,但比編譯器抱怨,「init」沒有在「AnyClass」中定義。有任何想法嗎?
謝謝! Ingo。
就是這樣!謝謝! – 2015-02-23 12:46:46