2
我使用NSUserDefaults來存儲一些東西。NSUserDefaults - 需要重新加載?
它工作正常,但只有在我重新啓動應用程序後。
我使用: [prefs synchronize]; 我認爲它會立即保存數據,但首選項保持爲空。
如果您有任何想法或已經處理它,讓我知道。 感謝您的幫助。
Wallou
我使用NSUserDefaults來存儲一些東西。NSUserDefaults - 需要重新加載?
它工作正常,但只有在我重新啓動應用程序後。
我使用: [prefs synchronize]; 我認爲它會立即保存數據,但首選項保持爲空。
如果您有任何想法或已經處理它,讓我知道。 感謝您的幫助。
Wallou
我終於設法解決了我的問題。我在兩個不同的地方做了同樣的事情(舊的代碼被遺忘了)。以下是我的代碼:
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
// saving an NSString
[prefs setObject:identField.text forKey:@"mail"];
[prefs setObject:pwdField.text forKey:@"password"];
mail=[prefs objectForKey:@"mail"];
pwd=[prefs objectForKey:@"password"];
//This is to synch prefs
[prefs synchronize];
NSLog(@"pwd: %@, username:%@", mail, pwd);
請提供寫入NSUserDefaults的代碼。當你使用同步時,應該保存更改。如果它們爲空,則可能意味着null是寫入它們的值。 嘗試在調試器或NSLog中查找值,然後將其保留。還要確保在NSUserdefaults對象上使用正確的方法:setObject/setBool等。 – RickiG 2010-06-08 21:33:26
RickiG的評論很好,我只是想問你是否正在使用NSUserDefaultsController,因爲這增加了一些其他方法讓人困惑。 – JWWalker 2010-06-09 06:07:50
hey, 這裏是我的代碼: NSUserDefaults * prefs = [NSUserDefaults standardUserDefaults]; \t \t //保存一個NSString \t [首選項的setObject:identField.text forKey:@ 「郵件」]; \t [prefs setObject:pwdField.text forKey:@「password」]; \t \t \t \t [prefs synchronize]; 這些值爲空,直到我重新啓動我的應用程序。然後他們有正確的價值。 – wallou 2010-06-09 07:00:28