如果你尝试这重载extension中的方法,就会报
Overriding non-@objc declarations from extensions is not supported
,那么如何重载extension方法呢,正确的方法就是在父类的extension中的方法前加上@objc
class Person{
}
extension Person{
@objc func eat(){
print("eat some food")
}
}
class student: Person {
override func eat() {
}
}
当然也可以在student的扩展中重载,但是子类只能重载一次,即extension中调用,主类中不能再重载
extension student{
override func eat() {
}
}
网友评论