给定
class A {
...
}
class B {
typealias A = Int
...
}
如何在类 B 的主体内声明类 A 的实例变量?
最佳答案
类型别名A
“隐藏”其他类类型A
。
一种解决方案是在隐藏类型前加上模块名称前缀,告诉编译器它与类型别名的类型不同。
例如,如果您的模块名为“MyApp”,请执行以下操作:
class A {
let test = "test"
}
class B {
typealias A = Int
let instance = MyApp.A()
}
let b = B()
print(b.instance.test)
关于swift - 嵌套类型别名隐藏外部类型声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34904742/