【发布时间】:2017-05-16 22:15:22
【问题描述】:
我有一个需要从变量中读取的 IBAction。但是,将变量放在 viewDidLoad 之外时,我收到错误
不能在属性初始化器中使用实例成员“动物”;属性初始化器在“self”可用之前运行
我的代码如下。当我将变量移回viewDidLoad 中时,错误表明animalName 未声明
var animalName = (String(format: "%03d", animal.speciesId!))
@IBAction func megaKeyIBO(_ sender: Any) {
animalName = (String(format: "%03d", animal.speciesId!)) + "-merg"
}
override func viewDidLoad() {
super.viewDidLoad()
//variable was originally here before moving to top
var animalName = (String(format: "%03d", animal.speciesId!))
}
【问题讨论】:
-
我们需要查看
animal的定义,但是听起来它是一个实例成员,可能在属性初始化器运行时还没有被初始化。 -
您是否需要在初始化时填充
animalName?为什么不将其设为可选并在viewDidLoad中对其进行初始化
标签: ios swift uibutton ibaction