class ClassA {
}
class ClassB {
func ClassA() -> Bool {
return true
}
var test = ClassA()
}
假设我需要从 ClassA 创建一个对象。但是在当前的类中有一个具有相同类名的方法。这是 ClassA 。
那么我们怎么能在classB中从classA创建一个实例呢?目前我在classB里面。这里变量测试默认采用函数名,而不是类名。
答案 0 :(得分:0)
您可以使用“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()
答案 1 :(得分:0)
假设您无法修改类,可以将ClassA
类嵌入到结构中,并在classB
中调用它,如:StructName.ClassA()
:
struct Namespace {
class ClassA { }
}
class ClassB {
func ClassA() -> Bool {
return true
}
var test = Namespace.ClassA()
}