如果应用程序是第一次加载,我正在尝试执行segue。我可以在调试器中看到我的打印消息,但是Perform Segue无法正常工作。我没有任何错误。有人可以告诉我怎么了吗?
import UIKit import LocalAuthentication let isFirstLaunch = UserDefaults.isFirstLaunch() extension UserDefaults { // check for is first launch - only true on first invocation after app install, false on all further invocations // Note: Store this value in AppDelegate if you have multiple places where you are checking for this flag static func isFirstLaunch() -> Bool { let hasBeenLaunchedBeforeFlag = "hasBeenLaunchedBeforeFlag" let isFirstLaunch = !UserDefaults.standard.bool(forKey: hasBeenLaunchedBeforeFlag) if (isFirstLaunch) { UserDefaults.standard.set(true, forKey: hasBeenLaunchedBeforeFlag) UserDefaults.standard.synchronize() } return isFirstLaunch } } class loginVC: UIViewController { override func viewDidLoad() { super.viewDidLoad() if isFirstLaunch == false { performSegue(withIdentifier: "setPassword", sender: self) print("testFalse") } else { performSegue(withIdentifier: "setPassword", sender: self) print("testTrue")} // Do any additional setup after loading the view, typically from a nib. }
您不能在viewDidLoad()中使用performSegue()。将其移动到viewDidAppear()。
在viewDidLoad()时,当前视图甚至还没有附加到窗口,因此尚无法进行隔离。