在我的控制器中,我有一个按钮,使用以下代码重新加载控制器,以隐藏后退按钮:
WKInterfaceController.reloadRootPageControllers(withNames: ["Record"], contexts: [], orientation: .vertical, pageIndex: 0)
触发此代码后,将再次调用awake
函数。我的awake
功能如下:
override func awake(withContext context: Any?) {
super.awake(withContext: context)
let track = context as! Track
locationManager.trackMetaData = track
//create new session
sessionManager.createNewSession(track: locationManager.trackMetaData!)
finishButton.setHidden(true)
}
函数sessionManager.createNewSession
只能调用一次,此函数所需的参数需要context
参数。如何确保仅调用此代码一次?我可以在init()
函数中设置一个布尔变量,然后检查它是否已经在其中执行了,但这是正确的方法吗?