【发布时间】:2018-02-16 17:45:45
【问题描述】:
我想在延迟 3 秒后导航到下一个视图控制器。它发生了,但它发生了两次!这是我的代码。
override func viewWillAppear(_ animated: Bool) {
let authToken = UserDefaults.standard.object(forKey:"token") as? String ?? ""
if (authToken.characters.count == 0) {
self.perform(#selector(ClassName.navigateToMobileScreen), with: nil, afterDelay: 3)
}
}
我在不同的场景中将它放在 viewDidLoad 和 viewDidAppear 中。这可能是什么问题?
【问题讨论】:
-
你应该把viewDidLoad和viewDidAppear的代码。因为我认为问题可能仅存在于该场景定义中。
-
检查您在 viewDidLoad 和 viewDidAppear 中的逻辑...并确保它按预期工作。
-
同时添加viewDidLoad的代码
-
之前我在 viewDidLoad 中添加了相同的代码,现在 viewDidLoad 里面什么都没有
-
那么它可能只推送一次,对吗?唯一剩下的就是延迟推送?
标签: ios swift timer uiviewcontroller selector