Swift:每次加载 运行 几次 viewcontroller

Swift: functions run several times per load viewcontroller

我在viewController.swift

中使用下面的代码
func didReceiveNewSession(_ session: QBRTCSession, userInfo: [String : String]? = nil) {
    print("PLAY SESSION")
}

我打开应用程序并在接收会话后得到一个日志 PLAY SESSION

但是如果我打开应用程序然后转到 viewControllerPage.swift 并再次返回 viewController.swift 并且在接收会话之后我会得到两个日志 PLAY SESSION

结果,如果我打开 viewController.swift 7-8 次,接收会话后打印 7-8 PLAY SESSION

即使我每次都打开我也只想获得一次会话viewController.swift

我要didReceiveNewSession加载一次

这正是 viewDidload 和 viewDidAppear 的用途

override func viewDidLoad() {
    //insert the code you only want to run once here
}

override func viewDidAppear(_ animated: Bool){
    //insert the code you want to run every time you load the VC
}

您不想使用它们有什么特别的原因吗?或者你可以使用 viewWillAppear() 而不是 viewDidAppear()