如果应用程序启动时没有打开文档,如何在启动时显示欢迎屏幕?

Sev*_*its 6 macos cocoa objective-c

Xcode 有一个非常漂亮的屏幕,当你第一次启动它时就会显示出来;它会为您显示您最近的项目和资源,但只有在您启动它时没有打开文档时才会显示。我想要一个类似(虽然不那么复杂)的欢迎屏幕。我已经将它设计成一个 .nib 文件,但我想知道如何编码它以在用户打开应用程序时出现之前没有打开过的文档。

这是我指的屏幕(显示我最近的项目):

Xcode 启动画面

Jsd*_*ers 0

我假设 OS X 的[NSUserDefaults standardUserDefaults]工作方式与 iOS 相同,在这种情况下你可以这样做:

if (![[NSUserDefaults standardUserDefaults] objectForKey:@"opened"]) {
   //load your special view here; no documents have been opened;
}
else {
   //open up some previously opened document.
}
Run Code Online (Sandbox Code Playgroud)

打开文档时,您可以执行以下操作:

[[NSUserDefaults standardUserDefaults] setObject:@"" forKey:@"opened"]; //doesn't matter what you set as long as something is set.
Run Code Online (Sandbox Code Playgroud)

然后,如果您想重置它(例如,如果所有文档都已关闭),您可以执行以下操作:

[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"opened"];
Run Code Online (Sandbox Code Playgroud)