[英]Swift Class name & method name same issue
class ClassA {
}
class ClassB {
func ClassA() -> Bool {
return true
}
var test = ClassA()
}
假设我需要从ClassA创建一个对象的情况。 但是在当前类中有一个具有相同类名的方法。 这是ClassA 。
那么我们如何在 classB 中从 classA 创建一个实例呢? 目前我在classB里面。 这里的变量 test 默认取函数名,而不是类名。
假设你不能修改类,你可以将ClassA
类嵌入到一个结构体中并在classB
调用它,如: StructName.ClassA()
:
struct Namespace {
class ClassA { }
}
class ClassB {
func ClassA() -> Bool {
return true
}
var test = Namespace.ClassA()
}
您可以使用“self”关键字调用方法(当然,也可以从另一个函数调用 ClassA 函数)。 但是您不能在 ClassB 中创建 ClassA 实例。 尝试在当前约定中重构函数名称。 作为解决方法,请使用 Thedore 的答案。
class ClassA {
}
class ClassB {
func ClassA() -> Bool {
return true
}
func something() -> Bool {
let a = self.ClassA()
return a
}
}
var b = ClassB()
var c = b.ClassA()
var d = b.something()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.