尝试使用变量 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 中的错误,也可能不是,很难判断)。
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 中的错误,也可能不是,很难判断)。