swift - 嵌套类型别名隐藏外部类型声明

标签 swift types nested

给定

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/

相关文章:

ios - UITableViewCell 中带有图像的动态标签?

ios - 更改 UICollectionView 部分标题的高度

c - short int Integer wrap around/short int inversion in c 不理解,分配和打印之间的区别

Java 协变返回类型不适用于枚举实例的覆盖方法?

python - 通过两个 Pandas DataFrame 加速嵌套 for 循环

python - 获取嵌套类的外部类名称 (Python)

ios - 来自 PHImageManager 的图像数据不同于保存为 Assets 的图像数据

ios - 使用 NSLayoutConstraint 在主视图中定位两个 UIButton 元素

class - 递归函数和类中的 Raku 类型约束

mysql - mysql中的存储过程嵌套游标循环未执行所有结果