在啓動時出現的窗口中,NSUserDefaults與初始窗口非常協調。如果我打開相同的筆尖文件重新編程與此代碼:以編程方式打開筆尖時,NSUserDefaults不起作用
NSWindowController *controller = [[NSWindowController alloc] initWithWindowNibName:@"MainMenu"];
[controller showWindow:self];
它未能得到NSUserDefaults的。我得到(null)
的值。我讀了默認這樣的:
[[NSUserDefaults standardUserDefaults] valueForKey:@"myKey"];
和寫入他們是這樣的:
[[NSUserDefaults standardUserDefaults] setValue:@"myValue" forKey:@"myKey"];
我在做什麼錯?一旦設置了值,我重新啓動應用程序,重新打開編程。加載的筆尖窗口失敗!
我打開這個程序打開的窗口,從類的NIB文件掛鉤 - >用戶按下按鈕,第二個窗口打開!
您的[NSUserDefaults standardUserDefaults]是否返回null或您的valueForKey調用? –
valueForKey調用返回null,我想,當我NSLog()[NSUserDefaults standardUserDefaults],我得到的地址,這是在兩個窗口相同! – Silicone
如果它適用於IB實例化的窗口,但不是以編程方式創建的窗口,那麼在IB中可能存在一些連接,導致您無法正確重新連接到控制器。我懷疑NSUserDefaults存在問題。 – Flyingdiver