У меня есть экспериментальный код. Но конечной целью является findType (), которая должна напечатать / вернуть true, если объект имеет тип 'parent'
class Car {}
class RacingCar:Car {}
let raceCar = RacingCar()
func findType(_ obj: Any, parent: AnyClass) {
print(type(of: obj)) // RacingCar
print(parent) // Car
print(type(of: obj) == parent) // false
// if obj is parent {
// print("true")
// }
}
findType(raceCar, parent: Car.self)
Как это может быть достигнуто?
С предложением шаблона,
func isTypeOf<T>(_ obj: Any, parent: T.Type) {
if obj is T { // true
print("true")
}
}
isTypeOf(raceCar, parent: Car.self) // worked
func getType(parentClass: AnyClass){
isTypeOf(raceCar, parent: parentClass)
}
getType(parentClass: Car.self) // this dont work.