Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 在Xcode中,我如何向我的Mac应用程序添加教程窗口,它只在第一次启动时打开_Swift_Xcode_Macos_Cocoa - Fatal编程技术网

Swift 在Xcode中,我如何向我的Mac应用程序添加教程窗口,它只在第一次启动时打开

Swift 在Xcode中,我如何向我的Mac应用程序添加教程窗口,它只在第一次启动时打开,swift,xcode,macos,cocoa,Swift,Xcode,Macos,Cocoa,我正在设计一个MacOS应用程序,我希望在第一次启动应用程序时会出现第二个窗口,就像苹果在第一次打开iMovie或页面时所做的一样。我试过几次都没用。到目前为止,我已经创建了第二个组作为原始应用程序的目标。新组包含我设计的教程故事板和一个名为OnboardingWindowController的自定义类,OnboardingWindowController是NSWindowController的子类。我将OnboardingWindowController的情节提要ID提供给了窗口控制器,并添加

我正在设计一个MacOS应用程序,我希望在第一次启动应用程序时会出现第二个窗口,就像苹果在第一次打开iMovie或页面时所做的一样。我试过几次都没用。到目前为止,我已经创建了第二个组作为原始应用程序的目标。新组包含我设计的教程故事板和一个名为OnboardingWindowController的自定义类,OnboardingWindowController是NSWindowController的子类。我将OnboardingWindowController的情节提要ID提供给了窗口控制器,并添加了以下方法:

class func loadFromNib() -> OnboardingWindowController {
        let vc = NSStoryboard(name: "Onboarding", bundle: nil).instantiateController(withIdentifier: "OnboardingWindowController") as! OnboardingWindowController
        return vc
    }

但是,我不知道如何在不提示应用程序第一次启动,然后再也不会启动的情况下启动它。提前谢谢

向userdefaults添加一个键,检查其值,如果为false,则显示教程,否则不显示

if UserDefaults.standard.bool(forKey: "didShowTutorial") {
    // Code to proceed without showing tutorial
} else {
    UserDefaults.standard.set(true, forKey: "didShowTutorial")
    // Code to show the tutorial
}

我的问题不在这里,但我还是解决了。谢谢你的努力。