0

在启动时显示的窗口中,NSUserDefaults 在初始窗口中效果很好。如果我使用此代码以编程方式再次打开相同的 nib 文件:

NSWindowController *controller = [[NSWindowController alloc] initWithWindowNibName:@"MainMenu"];
[controller showWindow:self];

它无法获得 NSUserDefaults。我得到 的值(null)。我读了这样的默认值:
[[NSUserDefaults standardUserDefaults] valueForKey:@"myKey"];

并像这样写信给他们:
[[NSUserDefaults standardUserDefaults] setValue:@"myValue" forKey:@"myKey"];

我究竟做错了什么?设置好值并重新启动应用程序后,重新打开 prog。加载笔尖窗口失败!

我从NIB文件所连接的类中打开这个以编程方式打开的窗口->用户按下一个按钮,第二个窗口打开!

4

1 回答 1

0

我现在自己发现了问题。我在 .h 中定义了一个 NSUserDefaults 变量,因此我可以在整个 .m 文件中访问它。我在 中初始化它,mainDefaults = [NSUserDefaults standardUserDefaults]- (void)applicationDidFinishLaunching:(NSNotification *)aNotification{}仅在应用程序启动时调用!当我打开一个新窗口时,当然不会调用它!

无论如何,谢谢你的帮助。

于 2011-08-31T18:28:54.123 回答