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()
我在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()