Reputation: 3234
Using currentIndex as NSNumber and saving NSNumber in NSUserDefaults.
Using currentIndex to store bookmarked page in NSUserDefaults
And this is how I am saving currentIndex in NSUserdefaults:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setInteger:currentIndex forKey:@"currentIndex"];
[defaults synchronize];
If this is the right way of saving currentIndex in NSUserdefaults then how can i retrieve saved currentIndex in NSUserdefaults.
Thanks for help.
Upvotes: 6
Views: 4171
Reputation: 5160
The title says that you want to store a NSNumber, you should do that in this way:
obj-c
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:nsnumberObject forKey:@"nsNumberStored"];
swift
let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject(nsnumberObject, forKey:"nsNumberStored")
And then to fetch the NSNumber do this:
obj-c
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSNumber *nsNumberFetched = [defaults objectForKey:@"nsNumberStored"];
swift
let defaults = NSUserDefaults.standardUserDefaults()
defaults.objectForKey("nsNumberStored")
You can read the official documentation here Class reference
Let me know if it helps you.
Upvotes: 8
Reputation: 3317
First of all, setInteger: forKey:
is used to store an int
, not a NSNumber
. If you want to store a NSNumber
, user setObject: forKey:
.
In order to retrieve your stored data, use objectForKey:
(or integerForKey:
instead if you would rather use int
's).
Upvotes: 5
Reputation: 8202
You need to do the 'opposite' to get it back out
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSInteger currentIndex = [defaults integerForKey:@"currentIndex"];
Upvotes: 0