导入UIKit并尝试以编程方式切换按钮颜色的初始位置之后,我似乎无法弄清楚为什么在符合WKInterfaceController的类中发生崩溃
import UIKit
import WatchKit
class InterfaceController: WKInterfaceController {
@IBOutlet fileprivate var myButton : WKInterfaceButton!
override func willActivate() { // About to be visible to user
super.willActivate()
self.myButton.setBackgroundColor(UIColor.red) // CRASH
}
}
答案 0 :(得分:1)
原因是未使用的断点。
反正:
使用awake(withContext:)
更改用户界面:
创建接口控制器时,WatchKit会实例化该类 然后调用它的init()方法 awake(withContext :)方法。使用这些方法进行初始化 变量,加载数据以及配置故事板中的项目 现场。如果WatchKit将有效对象传递给唤醒(withContext :) 方法,使用该对象中的信息来自定义 初始化过程。
您无法使用willActivate()
更改背景颜色等:
willActivate()方法可让您知道界面的时间 活性。使用willActivate()方法执行任何最后一分钟 任务,例如检查内容的更新。 (不要使用它 主要用于初始化。)
也始终使用weak
个出口:
@IBOutlet fileprivate weak var myButton : WKInterfaceButton!
检查您的插座是否已连接。