2

我有一个 Login.xib 和一个 Main.xib,如果你登录一次,我会将令牌存储到一个文件中。如果这个带有令牌的文件存在,我想显示主窗口而不是登录,因为我已经知道它是哪个用户。

我可以在哪里以及如何决定应该显示哪个窗口?

4

1 回答 1

2

我会在您的应用程序委托applicationDidFinishLaunching:方法中检查此文件是否存在。

如果文件存在则显示主窗口,否则显示登录窗口。

编辑

作为对您的评论的回应,您需要研究NSWindowController类的使用。基本上,每个要控制的窗口都有一个NSWindowController对象。

您还需要更改应用程序中的一些内容以更改加载主窗口的默认行为,这将根据您是否正在制作基于文档的应用程序而有所不同。

如果您的应用程序不是基于文档的,您的应用程序“知道”加载 main.xib,因为这是在应用程序的 info.plist 文件中设置的。基本上,当您的应用程序启动时,它会在 info.plist 文件中查找需要加载的 nib 并加载它。通常,主笔尖包含一个菜单和一个窗口。只需删除窗口并在单独的 nib 中重新创建它即可在默认情况下停止窗口加载。

如果您的应用程序是基于文档的,那么情况会有所不同。您将有一个 NSDocument 子类,它应该有一个名为windowNibName的方法,该方法返回要加载的 nib 文件的名称。删除此方法,而是覆盖makeWindowControllers以返回您的NSWindowController对象。还有比这更多的内容,但这应该可以帮助您入门,其余的超出了您最初问题的范围。

于 2012-05-23T19:04:31.123 回答