【发布时间】:2016-12-13 22:46:12
【问题描述】:
我正在使用 Arduino 板构建一个 IoT 应用程序并调用 API 来检查 Arduino 板的更新引脚值。
当我收到来自 API 的更新时,我必须根据收到的数据将按钮颜色更新为红色或绿色。我第一次加载应用程序时它工作得很好,viewDidAppear() 被调用。但是当我转到后台然后再次转到前台时,它不会被调用。我所知道的是,每次视图出现时,它都必须在函数内部运行指令,但似乎并非如此。
我试图将我的代码放在AppDelagateapplicationDidBecomeActive() 中,但是因为我正在尝试更新我的视图并且视图还不存在,所以它给了我发现 nil 的致命错误。
这是我在viewDidAppear()中的说明
override func viewDidAppear(_ animated: Bool) {
activityIndicator.startAnimating()
definingPinModes(pin: [7,6,5,4], mode: 1)
getAllInputValues(key: key, method: .post) { (status, newValues, msg) in
if status == 200 {
//Change button colors according to values in array
self.changeButtonColors(values: newValues!)
} else {
print("Error getting pin values")
self.alertMessage(title: "Connection Error", message: "Failed retrieving pin values")
return
}
self.activityIndicator.stopAnimating()
}
}
【问题讨论】:
标签: ios swift viewdidappear