在 swift 中显示一次教程视图控制器

Show tutorial view controller ONCE in swift

我对编程还很陌生,并且很难在用户打开应用程序时以编程方式仅显示一次“教程”视图控制器。

我在此处参考了之前的问题以获取代码,但它似乎不适用于我的应用程序。 从下面的这些图片中,您可以看到我的故事板的设置和我的 didFinishLaunchingWithOptions 函数代码。

此外,我尝试在每次启动应用程序时以编程方式加载我的教程视图控制器(因此我删除了用户默认代码),但这也不起作用。当我这样做时,我只是得到一个黑屏。

我的代码中是否遗漏了某些内容,或者是否缺少需要检查的设置? 我正在使用 Xcode Ver 11.5 和 swift 5.

使用的代码:

var window: UIWindow?


func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    
    
    window = UIWindow(frame: UIScreen.main.bounds)
    let defaults = UserDefaults.standard
    if defaults.object(forKey: "FirstTime") == nil {
        defaults.set("No", forKey:"FirstTime")
        defaults.synchronize()
        
        let storyboard = UIStoryboard(name: "Main", bundle: nil)
        
        let viewController = storyboard.instantiateViewController(withIdentifier: "TutorialViewController") as! TutorialViewController
        
        window?.rootViewController = viewController
        window?.makeKeyAndVisible()
    }
    
    
    
    
    
    
    
    
    
    

storyboard

appDelegateCode

不太确定这是否是您想要的。

     if let windowScene = scene as? UIWindowScene {
        let window = UIWindow(windowScene: windowScene)
        
        let defaults = UserDefaults.standard
        if defaults.object(forKey: "FirstTime") == nil {
            defaults.set("No", forKey:"FirstTime")
            window.rootViewController = TutorialViewController()
        } else {
            window.rootViewController = OtherViewController()
        }
        self.window = window
        window.makeKeyAndVisible()
    }