我saw this question,但我想要的是創建一個實際類的數組,以便我可以調用每個類的函數。Swift - 創建一個類的數組
實施例:
let syncClasses:[Any] = [Battery, Tank, Gas]
for object in syncClasses {
object.someClassMethod()
}
我嘗試使用[Any]
作爲一種類型的陣列,但拋出:
Expected member name or constructor call after type name
所有類的來自相同Object
類繼承,所以我可以通過破解它做:
let syncClasses:[Object] = [Battery(), Tank()]
但後來我必須使我想要的功能調用一個方法而不是一個類函數,這不是我想要的那麼幹淨。
非常好。謝謝。有什麼時候使用協議來分享繼承和使用超類的標準/規則? – jgraft
不是。但不要打擊類型系統。蘋果框架中許多繼承自Objective-C的類應該被分類。這取決於環境。 – vadian