Apple用Swift代替替代方法吗?

问题描述 投票:0回答:1

Apple在Swift中使用什么方法而不是覆盖,如何在不使用@objc标记的情况下编写此代码?>

import Foundation

class A {
    init() {}
}
extension A {
    @objc func foo() {
        print("foo")
    }
}

class B: A {
    override func foo() {
        print("yes2")
    }
}

A().foo()
B().foo()

也许是协议?但是如何?

Apple在Swift中使用什么方法而不是重写,如何在不使用@objc标记的情况下编写此代码import基础类A {init(){}}扩展名A {@objc func foo(){...

swift
1个回答
0
投票

您可以定义协议并提供默认的方法实现。您需要做的就是安慰该协议,并在必要时提供其自己的foo方法:

© www.soinside.com 2019 - 2024. All rights reserved.