在我使用 Swift 3.3 创建的应用程序中,我有以下类:
class A {
func A() {
}
}
现在我需要创建一个带有静态函数和调用此静态函数的非静态函数的扩展。我有这个草稿:
extension A {
static func staticFunc() {
}
func f() {
A.staticFunc()
}
}
但是这段代码是不可编译的。我该如何解决这个问题?我无法删除或重命名 func A
。迁移到 Swift 4.1 并不能解决问题。
最佳答案
如果无法重命名函数,则使用(本地)类型别名 可以定义为解决方法:
extension A {
typealias AliasA = A
static func staticFunc() { }
func f() {
AliasA.staticFunc()
}
}
关于swift - 如何调用具有与此类同名函数的类的静态方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51524599/