swift - 在 Xcode 中,如何向我的 Mac 应用程序添加教程窗口,该窗口仅在首次启动时打开
问题描述
我正在设计一个 MacOS 应用程序,我希望在第一次启动该应用程序时出现第二个窗口(类似于 Apple 在您第一次打开 iMovie 或 Pages 时所做的)。我尝试了几件事无济于事。到目前为止,我已经创建了第二组作为原始应用程序的目标。新组包含我设计的教程故事板和一个名为 OnboardingWindowController(NSWindowController 的子类)的自定义类。我给窗口控制器提供了 OnboardingWindowController 的 Storyboard 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
}