Overriding methods in Swift extensions

前端 未结 5 1512
隐瞒了意图╮
隐瞒了意图╮ 2020-11-22 16:13

I tend to only put the necessities (stored properties, initializers) into my class definitions and move everything else into their own extension, kind of like a

5条回答
  •  臣服心动
    2020-11-22 16:43

    Use POP (Protocol-Oriented Programming) to override functions in extensions.

    protocol AProtocol {
        func aFunction()
    }
    
    extension AProtocol {
        func aFunction() {
            print("empty")
        }
    }
    
    class AClass: AProtocol {
    
    }
    
    extension AClass {
        func aFunction() {
            print("not empty")
        }
    }
    
    let cls = AClass()
    cls.aFunction()
    

提交回复
热议问题