Objective c nsuserdefaults中的设置值
我是Objective-C和XCode的新手,我遇到过这样的问题 如何将值正确保存到Objective c nsuserdefaults中的设置值,objective-c,ios,cocoa-touch,Objective C,Ios,Cocoa Touch,我是Objective-C和XCode的新手,我遇到过这样的问题 如何将值正确保存到NSUserDefaults 我在这方面很有价值 [_textFields objectAtIndex:2]).text 并试图做到这一点 [[[NSUserDefaults standardUserDefaults] setValue:((UITextField *)[_textFields objectAtIndex:2]).text)) forKey:@"Phone"]; [[NSUserDefault
NSUserDefaults
我在这方面很有价值
[_textFields objectAtIndex:2]).text
并试图做到这一点
[[[NSUserDefaults standardUserDefaults] setValue:((UITextField *)[_textFields objectAtIndex:2]).text)) forKey:@"Phone"];
[[NSUserDefaults standardUserDefaults] synchronize];
如何正确操作?如果要将属性列表对象(字典、数组、字符串和数字)存储在
NSUserDefaults
中,则需要使用setObject:forKey:
如果要在NSUserDefaults
中存储属性列表对象(字典、数组、字符串和数字),则需要使用setObject:forKey:
使用setObject:forKey:
而不是setValue:forKey:
[[[NSUserDefaults standardUserDefaults] setObject:((UITextField *)[_textFields objectAtIndex:2]).text)) forKey:@"Phone"];
更新:
如果数组中确实有该文本字段,那么代码将起作用。下面是逐步分解的代码,以使其更加清晰:
UITextField* textField = [_textFields objectAtIndex:2]; // get your text field
NSString* text = textField.text; // get the actual value we are going to store
[[[NSUserDefaults standardUserDefaults] setObject:text forKey:@"Phone"]; // store it
使用
setObject:forKey:
代替setValue:forKey:
[[[NSUserDefaults standardUserDefaults] setObject:((UITextField *)[_textFields objectAtIndex:2]).text)) forKey:@"Phone"];
更新:
如果数组中确实有该文本字段,那么代码将起作用。下面是逐步分解的代码,以使其更加清晰:
UITextField* textField = [_textFields objectAtIndex:2]; // get your text field
NSString* text = textField.text; // get the actual value we are going to store
[[[NSUserDefaults standardUserDefaults] setObject:text forKey:@"Phone"]; // store it
您正在使用字符串值。您应该使用setObjectForKey(保存)和objectForKey(读取)。这里有一个例子
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSString *yourText = [[_textFields objectAtIndex:2] text]; // Your text
// Save
[userDefaults setObject:yourText forKey:kKey];
[userDefaults synchronize];
// Read
NSString *result = (NSString *) [userDefaults objectForKey:kKey];
您正在使用字符串值。您应该使用setObjectForKey(保存)和objectForKey(读取)。这里有一个例子
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSString *yourText = [[_textFields objectAtIndex:2] text]; // Your text
// Save
[userDefaults setObject:yourText forKey:kKey];
[userDefaults synchronize];
// Read
NSString *result = (NSString *) [userDefaults objectForKey:kKey];
使用方法
setObject:forKey:
代替setValue:forKey:
[[[NSUserDefaults standardUserDefaults] setObject:((UITextField *)[_textFields objectAtIndex:2]).text)) forKey:@"Phone"];
在NSUserDefaults
类中:
[[NSUserDefaults standardUserDefaults] setObject:"Your Object" forKey:@"Phone"];
使用方法
setObject:forKey:
代替setValue:forKey:
[[[NSUserDefaults standardUserDefaults] setObject:((UITextField *)[_textFields objectAtIndex:2]).text)) forKey:@"Phone"];
在NSUserDefaults
类中:
[[NSUserDefaults standardUserDefaults] setObject:"Your Object" forKey:@"Phone"];
我还想知道如何正确地(在语法上)执行它,因为我描述的集合值是完全错误的:)嘿,这和我刚才做的一模一样。我想现在就可以了。谢谢你的时间帮助。我还想知道如何正确地(在语法上)完成它,因为我描述的集合值是完全错误的:)嘿,这和我刚才做的一模一样。我想现在就可以了。谢谢你花时间帮忙。