将viewDidLoad()或ViewDidAppear()中的变量传递给按钮操作

时间:2018-07-27 18:16:22

标签: swift

我有一个复杂的变量,可以从Firestore文档中查找,但这并不重要。它可以在viewDidLoadviewDidAppear中完美运行。我可以打印出来以验证变量的值正确。

let q1 = data!["q1"]! as? Bool ?? true

当我在按钮操作中的if语句中调用变量时,出现以下错误:

  

使用未解析的标识符'q1'

print(q1)

但是print(q1)如果在viewDidAppear中运行,效果很好。

有人可以告诉我我做错了吗?如何将变量从viewDidLoad传递给按钮动作?

1 个答案:

答案 0 :(得分:2)

  

如何将变量从viewDidLoad传递给按钮操作?

将值存储在实例属性中。属性是所有方法的全局属性,因此viewDidLoad可以看到它(将值存储在其中),而button action方法可以看到它(以检索和使用它)。