尝试使用变量 swift 定义数组时出错

When trying to define array with variables swift gives error

 var test = "Activity One name"
 var actNames = [test]

Swift 给出错误提示 ViewController.type 没有名为 test

的成员

问题是您无法通过引用另一个 属性(例如 test)来初始化 属性(例如 actNames)。原因是此时实例本身还不存在——这就是我们正在初始化的过程!

解决方法是将 actnames 声明为 lazy。现在直到实例的其余部分(包括 test)出现后才初始化它:

var test = "Activity One name"
lazy var actNames : [String] = [self.test]

请注意,此处需要明确的 self(可能是 Swift 中的错误,也可能不是,很难判断)。