![](/img/trans.png)
[英]Why I can't save WKWebView to [NSUserDefaults standardUserDefaults]?
[英]Why can't I save changes to application settings with NSUserDefaults?
我正在使用以下代碼從設置視圖保存值,該視圖從UITextField獲取值並將其與NSUserDefaults存儲在一起。 下面的代碼甚至調用了同步,但它沒有保存更改。 我在這里做錯了什么?
- (IBAction)save {
NSLog(@"save");
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if (self.usernameTextField.text != nil) {
NSLog(@"username: %@", self.usernameTextField.text);
[defaults setObject:kTwitterUsernameKey forKey:self.usernameTextField.text];
}
if (self.passwordTextField.text != nil) {
NSLog(@"password: %@", self.passwordTextField.text);
[defaults setObject:kTwitterPasswordKey forKey:self.passwordTextField.text];
}
[defaults synchronize];
[self dismissModalViewControllerAnimated:TRUE];
}
您正在將密鑰設置為用戶名和密碼,並使用用戶名/密碼字符串作為值。
因此,您將永遠無法檢索此數據(除非您已經知道用戶名和密碼;))
if (self.usernameTextField.text != nil) {
NSLog(@"username: %@", self.usernameTextField.text);
[defaults setObject:self.usernameTextField.text forKey:kTwitterUsernameKey];
}
嘗試如上所示進行交換。
您需要像下面那樣設置kTwitterUsernameKey
//Saving kTwitterUsernameKey
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:self.usernameTextField.text forKey:kTwitterUsernameKey];
//Retrieving kTwitterUsernameKey
NSString *myString = [defaults stringForKey:@"kTwitterUsernameKey"];
NSUserDefaults的一般模式如下所示
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
// saving an NSString
[prefs setObject:@"TextToSave" forKey:@"keyToLookupString"];
// retrieve an NSString
NSString *myString = [prefs stringForKey:@"keyToLookupString"];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.