Пусть будет известно, что я думаю, что использование protocol
- это самый чистый вариант, который наилучшим образом решит вашу проблему.
Однако, возможно дляиспользуйте Any
для передачи любого объекта в качестве параметра, для этого потребуется проверить, с каким классом вы работаете внутри вашего метода обновления.
Что-то вроде этого ...
class C {
func update(myClass: Any) {
if let a = myClass as? A {
print(a.something)
}
if let b = myClass as? B {
print(b.something)
}
}
}
Это можетбыть аккуратнее как switch
- ref
class C {
func update(myClass: Any) {
switch myClass {
case let a as A:
print(a.something)
case let b as B:
print(b.something)
default:
print("not a thing")
}
}
}