Pages

Showing posts with label NSUserDefault. Show all posts
Showing posts with label NSUserDefault. Show all posts

Saturday, June 11, 2011

Iphone: Use of NSUserDefault

NSUserDefaults class gives us an opportunity to save values without requiring any database. This class uses Key-value coding structure model for saving and loading values. Key-value coding defines generic properties accessor methods—valueForKey: and setValue:forKey:—which identify properties through Key Value Same As Dictionary.

Object for NSUserDefault:
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];


Save Values In NSUserDefault:
// Saving an Object
[prefs setObject:obj forKey:@"keyObj"];
// saving an NSString
[prefs setObject:@"String" forKey:@"keyString"];
// saving an NSInteger
[prefs setInteger:10 forKey:@"KeyInt"];
// saving a Double
[prefs setDouble:4.112 forKey:@"KeyDouble"];
// saving a Float
[prefs setFloat:1.000045 forKey:@"KeyFloat"];
// This is suggested to synch the NS Object,
[prefs synchronize];
Retrieving Value From NSUserDefault:
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
// getting an Object
NSObject *myObj = [prefs objectForKey:@"KeyObj"];
// getting an NSString
NSString *myString = [prefs stringForKey:@"keyString"];
// getting an NSInteger
NSInteger myInt = [prefs integerForKey:@"keyInt"];
// getting an Float
float myFloat = [prefs floatForKey:@"keyFloat"];
Basically NSUserDefault is used to store value for further use when database is not user or store value for any system crash.

thanks

Saturday, July 31, 2010

IPhone:Store and get back Image in NSUserDefault

In NSuserDefault, We can't Store Image As object. bcoz the size of image is much larger rather then any general object.
So Q. is, how to store image in NSUserDefault?

it Is So simple as Storing object, we have to just change the image to objectof NSData and store it.
same as following code:

Save image to NSUserDefault:
NSData *imageData;
// create NSData-object from image
imageData = UIImagePNGRepresentation([dic objectForKey:[NSString stringWithFormat:@"%d",i]]);
// save NSData-object to UserDefaults
[[NSUserDefaults standardUserDefaults] setObject:imageData forKey:[NSString stringWithFormat:@"%d",i]];

Load Image from NSUserDefault:
          NSData *imageData;
          // Load NSData-object from NSUserDefault
          imageData = [[NSUserDefaults standardUserDefaults] valueForKey:[NSString stringWithFormat:@"%d",i]];
          // get Image from NSData
   [image setObject:[UIImage imageWithData:imageData] forKey:[NSString stringWithFormat:@"%d",i]];
Note: image is Object of UIImage