Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 使用NSUserDefaults保存和检索UILabel值_Iphone_Save_Uilabel_Nsuserdefaults - Fatal编程技术网

Iphone 使用NSUserDefaults保存和检索UILabel值

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"];

我正在尝试将UILabel值保存为NSUserDefaults。我使用以下代码执行了IBAction:

-(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中。