当尝试使用变量定义数组时,swift会给出错误

时间:2015-01-11 19:07:29

标签: arrays variables swift

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

Swift提供错误,指出ViewController.type没有名为test的成员

1 个答案:

答案 0 :(得分:0)

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

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

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

请注意,此处需要显式self(可能是Swift中的错误,也可能不是,很难说)。