Skip to content

Instantly share code, notes, and snippets.

@waltflanagan
Created November 20, 2013 21:21
Show Gist options
  • Save waltflanagan/7571273 to your computer and use it in GitHub Desktop.
Save waltflanagan/7571273 to your computer and use it in GitHub Desktop.
NSUserDefaults custom objects
@implementation NSUserDefaults (CustomClassSaving)
-(void) setCustomObject:(id<NSCoding>)object forKey:(NSString*)key
{
NSData *encodedObject = [NSKeyedArchiver archivedDataWithRootObject:object];
[self setObject:encodedObject forKey:key];
}
-(id<NSCoding>) customObjectForKey:(NSString*)key
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSData *encodedObject = [defaults objectForKey:key];
id<NSCoding> returnObject = nil;
if(encodedObject)
{
returnObject = [NSKeyedUnarchiver unarchiveObjectWithData:encodedObject];
}
return returnObject;
}
@end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment