what approach does Apple use in Swift instead of override, how can I write this without using the @objc marker
import Foundation
class A {
init() {}
}
extension A {
@objc func foo() {
print("foo")
}
}
class B: A {
override func foo() {
print("yes2")
}
}
A().foo()
B().foo()
maybe protocols? but how?