In my application I want to create an generic method which creates an array of object depening on the given type T.
I created the following function:
fun
You need to make initializer required
, then add let realType = T.self
line and replace T()
with realType()
.
class Person {
required init() { }
func getWorkingHours() -> Float {
return 40.0
}
}
class Boss : Person {
override func getWorkingHours() -> Float {
println(100.0)
return 100.0
}
}
class Worker : Person {
override func getWorkingHours() -> Float {
println(42.0)
return 42.0
}
}
func getWorkingHours() -> T {
let realType = T.self
var person = realType()
person.getWorkingHours()
return person
}