gpt4 book ai didi

ios - show() View Controller 不起作用

转载 作者:行者123 更新时间:2023-11-28 10:44:55 27 4
gpt4 key购买 nike

如果我的应用程序的用户不是,我会尝试对其进行身份验证。我首先读取保存在 UserDefaults 中的值以了解他们是否已登录,如果没有,我想显示 ViewController 以允许他们登录。

但无论如何,LogInViewController 不会显示,这是我的代码:

import UIKit
import MapKit

class MainViewController: UIViewController, CLLocationManagerDelegate {

override func viewDidLoad() {
super.viewDidLoad()

if(!UserDefaults.standard.bool(forKey: "userIsConnected")){
let LogVC = self.storyboard?.instantiateViewController(withIdentifier: "LogInViewController") as! LogInViewController
show(LogVC, sender: self)
}
}

我也试过没有'if'条件,但它不再起作用了

编辑:我还尝试了 presentVC() 并且出现错误“尝试显示其 View 不在窗口层次结构中”

感谢帮助

最佳答案

您正在尝试登录 MainViewController。您应该尽可能避免在 View Controller 中管理您的登录。如果在您的 AppDelegate 中管理,登录会更有效。

将此代码添加到 AppDelegate.swift 中的 didFinishLaunchingWithOptions

if !UserDefaults.standard.bool(forKey: "userIsConnected") {
let storyboard = UIStoryboard(name: "Main", bundle: Bundle.main)
let loginViewController = storyboard.instantiateViewController(withIdentifier: "LogInViewController")
window?.makeKeyAndVisible()
window?.rootViewController?.present(loginViewController, animated: true, completion: nil
}

确保您可以访问 UserDefaults

关于ios - show() View Controller 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48887989/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com