我想在类或结构中创建Swift属性。我认为如果我可以在课堂上和其他课程中的任何地方进行访问,那么代码将非常干净和美观。我遇到的问题是我希望它的类型是动态的。这可能吗?
代码
class A {
var property: Any
init() {
switch B {
case 1:
property: String = "Hello World"
case 2:
property: Int = 1
}
}
}
答案 0 :(得分:0)
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
,类型检查运算符