美文网首页swift中的小tips
swift中如何override扩展中的方法

swift中如何override扩展中的方法

作者: 严青_ | 来源:发表于2019-03-19 12:37 被阅读0次

    如果你尝试这重载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() {
            
        }
    }
    
    

    相关文章

      网友评论

        本文标题:swift中如何override扩展中的方法

        本文链接:https://www.haomeiwen.com/subject/rxjgmqtx.html