创建Swift属性

时间:2015-12-14 03:53:02

标签: swift dynamic properties

我想在类或结构中创建Swift属性。我认为如果我可以在课堂上和其他课程中的任何地方进行访问,那么代码将非常干净和美观。我遇到的问题是我希望它的类型是动态的。这可能吗?

代码

class A {
    var property: Any
    init() {
        switch B {
        case 1:
             property: String = "Hello World"
        case 2:
             property: Int = 1
        }
    }
} 

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类型检查运算符

来检查类型