Iphone 使用NSUserDefaults保存和检索UILabel值
我正在尝试将UILabel值保存为NSUserDefaults。我使用以下代码执行了IBAction:Iphone 使用NSUserDefaults保存和检索UILabel值,iphone,save,uilabel,nsuserdefaults,Iphone,Save,Uilabel,Nsuserdefaults,我正在尝试将UILabel值保存为NSUserDefaults。我使用以下代码执行了IBAction: -(IBAction)saveData:(id)sender { NSString *resultString = label.text; NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; [prefs setObject:resultString forKey:@"result"];
-(IBAction)saveData:(id)sender {
NSString *resultString = label.text;
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setObject:resultString forKey:@"result"];
[prefs synchronize];
}
然后,我将其连接到内部带有润色的按钮。
按下按钮后显示的日志:
result = 0;
当我第二次按下时,它就工作了
result = "28.34";
我做错了什么,如何检索结果
编辑
使用此代码,我将结果显示在日志中。我也采取了同样的行动
NSLog(@"%@", [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]);
您的代码看起来是正确的,因此问题可能不是您发布的函数,而是包含NSLog的代码。您可能在记录值时忽略了第一次设置值。您的日志语句应该是 NSLog@%@,[[NSSERDEFAULT 标准用户默认值] objectForKey:@result]
这应该在您在NSUserDefaults中设置对象之后进行 在appDelegate中或ViewControllery中的init方法中将此项添加到应用程序的IDFinishLaunching中您必须创建一项:
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
if(prefs == nil)
{
[prefs setObject:@"anything" forKey:@"result"];
[prefs synchronize];
}
你的日志声明在哪里?请提供这部分代码。您在何处以及如何显示结果?您发布了设置userdefault的代码,类似于使用nsuserdefault打印结果值的帖子。我不知道如何显示nsuserdefault的结果。查看已编辑的代码。第二次按下后仍显示正确的结果。您能帮我从NSUserDefaults检索结果吗?我不知道是什么代码,也不知道我把它放在哪里了。您正在使用键结果将标签值保存在NSUserDefaults中。要从NSUserDefaults获取其值,需要写入[[NSUserDefaults standardUserDefaults]objectForKey:@result]。但是在得到这个值之前,我希望这个值已经设置好了。单击按钮即可设置值。因此,当您第一次单击按钮时,我猜您的值不会在NSUserDefaults中设置。日志语句是否在saveData中?我需要将代码放在何处以检索值?在MyAppDelegate.m中?是,日志语句在saveData中。