【问题标题】:Swift: functions run several times per load viewcontrollerSwift:每个加载视图控制器的函数运行多次
【发布时间】:2018-07-16 12:53:40
【问题描述】:

我在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 加载一次

【问题讨论】:

    标签: swift quickblox


    【解决方案1】:

    这正是 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()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-13
      • 2020-03-21
      • 1970-01-01
      • 1970-01-01
      • 2015-09-21
      • 1970-01-01
      • 1970-01-01
      • 2011-12-04
      相关资源
      最近更新 更多