我想在类或结构中创建 Swift 属性。我认为如果我可以在类内和其他类中的任何地方进行访问,代码将非常干净和漂亮。我遇到的问题是我希望它的类型是动态的。这可能吗?
代码
class A {
var property: Any
init() {
switch B {
case 1:
property: String = "Hello World"
case 2:
property: Int = 1
}
}
}
最佳答案
Any
是合法类型。但是您正在尝试进行某种类型的重新定义。我认为您正在寻找这样的东西:
public class A { public var someProperty: Any init(isString: Bool) { switch isString { case true: someProperty = "Hello World" case false: someProperty = 1 } } } let foo = A(isString: true) print(foo.someProperty) let bar = A(isString: false) print(bar.someProperty)
这会产生:
Hello World 1
您可以使用is
(类型检查运算符)检查类型
关于swift - 创建 Swift 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34259496/