Swift,awake函数,如何确保此代码只被调用一次?

时间:2018-06-03 07:59:48

标签: swift watchkit

在我的控制器中,我有一个按钮,使用以下代码重新加载控制器,以隐藏后退按钮:

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()函数中设置一个布尔变量,然后检查它是否已经在其中执行了,但这是正确的方法吗?

0 个答案:

没有答案