Unable to set NSUserDefaults field

I have the following code in my initialization (first time) of my application:

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 click) I will check the value using:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *initVal=[defaults objectForKey:@"init_val"];

initVal is always zero. I checked, and init_val is configured exactly the same in my parameter set as another field that I can set and read without problems (both of them are configured with the same field called "Key".

+5
source share
7 answers

@ mlewis54:

You can try this code. I am very sure that this will work for you.

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *uid=@"1";
[defaults setObject:uid forKey:@"init_val"];
[defaults synchronize];

To get the data you must use the following code:

NSString *initVal=[[NSUserDefaults standardUserDefaults] valueForKey:@"init_val"];

OR

NSString *initVal=[[NSUserDefaults standardUserDefaults] objectForKey:@"init_val"];

EDIT:

If nevertheless it gives nil, 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"]];

, .

+5

NSString *initVal = [defaults stringForKey:@"init_val"];

- , stringForKey. boolForKey .

+1

...

NSUserDefaults *savedData = [NSUserDefaults standardUserDefaults];
[savedData setObject:userEmailTextField.text forKey:@"userid"];

...

userEmailTextField.text =[[NSUserDefaults standardUserDefaults]objectForKey:@"userid"];
+1

, , , , , initVal...

, initVal ? , / initVal, var/oblect ?

:

NSLog(@"____text read in pref: %@", initVal);

__ , pref: 1

, NSString, , , int NSNumber, ...

Luca

0

, NSUserDefaults? , , , :

[[NSUserDefaults standardUserDefaults] registerDefaults:appDefaults];

appDefaults - . .

0

, . NSLog , .

0

:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *uid=@"1";
[defaults setObject:uid forKey:@"init_val"];
[defaults synchronize];

NSUserDefaults *defaultss = [NSUserDefaults standardUserDefaults];
NSString *initVal=[defaultss objectForKey:@"init_val"];
NSLog(@"Value of initVal: %@",initVal);

O/P : initVal: 1

Therefore, try to do this using the same code with printing on the console.

0
source

All Articles