无法设置NSUserDefaults字段 [英] Cannot set NSUserDefaults field
问题描述
我在我的应用初始化(第一次)中有以下代码:
I have the following code in my initialization (first time) of my app:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *uid=@"1";
[defaults setObject:uid forKey:@"init_val"];
[defaults synchronize];
很久以后在代码中(响应按下按钮)我使用以下方法检查值:
Much later in the code (in response to a button press) I check the value using:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *initVal=[defaults objectForKey:@"init_val"];
initVal始终为零。我已经检查过,init_val在我的设置包中的设置与我可以设置和读取的其他字段完全相同(没有问题)(它们都设置了一个名为Key的字段。
initVal is always nil. I have checked and init_val is set up exactly the same in my settings bundle as another field that I can set and read from without issue (they are both set up with a single field named "Key".
推荐答案
@ mlewis54:
@mlewis54:
你可以试试这段代码。我很确定它会起作用你。
You can try this code. I am very sure that it will work for you.
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *uid=@"1";
[defaults setObject:uid forKey:@"init_val"];
[defaults synchronize];
对于检索数据,您应使用以下代码:
NSString *initVal=[[NSUserDefaults standardUserDefaults] valueForKey:@"init_val"];
OR
NSString *initVal=[[NSUserDefaults standardUserDefaults] objectForKey:@"init_val"];
编辑:
如果仍然提供 nil
,然后你可以使用以下代码:
If still it gives nil
, then you can use the following code:
NSString *initVal=[NSString stringWithFormat:@"%@",[[NSUserDefaults standardUserDefaults] valueForKey:@"init_val"]];
OR
NSString *initVal=[NSString stringWithFormat:@"%@",[[NSUserDefaults standardUserDefaults] objectForKey:@"init_val"]];
希望这可以帮到你。
这篇关于无法设置NSUserDefaults字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!