I've been enjoying NSUserDefaults when going through the Hillegeass book. I've decided to do a small app that has two colors it stores. I get these colors from a colorwell via Preference Pane.
I have bounded the values of the wells to backGroundWell and lineWell in IB. I have the appropriately named methods. I know my bindings are ok becuase if I just return [NSColor whiteColor] instead of the data from NSUserDefaults, they're yellow when I open the pane. so that's ok. I am pretty sure I'm getting a null from the defaults because the wells are black. I have no "blackColor" in my project. Already searched for that. ;) What am I doing wrong? I thought that NSUserDefaults was pretty simple... Below are my getters and setters. -(NSColor*)backGroundWell { NSLog(@"called BGwell"); NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults]; NSData* data = [defaults objectForKey:@"BGCOLOR"]; NSColor* newColor = [NSKeyedUnarchiver unarchiveObjectWithData:data]; NSLog(@"retrieved Color for BG is %@", newColor); //NSLog(@"%@",[NSKeyedUnarchiver unarchiveObjectWithData:data]); return [NSKeyedUnarchiver unarchiveObjectWithData:data]; } -(NSColor*)lineWell { NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults]; NSData* data = [defaults objectForKey:@"LINECOLOR"]; return [NSKeyedUnarchiver unarchiveObjectWithData:data]; } -(void)setBackGroundWell: (NSColor*)newColor { NSLog(@"New Color is %@", newColor); NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults]; NSColor* color = [backGroundWell color]; NSData* colorData = [NSKeyedArchiver archivedDataWithRootObject:color]; [defaults setObject:colorData forKey:@"BGCOLOR"]; NSLog(@"changing background color"); } -(void)setLineWell: (NSColor*)newColor { NSLog(@"New Color is %@", newColor); NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults]; NSData* colorData = [NSKeyedArchiver archivedDataWithRootObject:[lineWell color] ]; [defaults setObject:colorData forKey:@"LINECOLOR"]; NSLog(@"changing line color"); } ------- Below is my +(void) initialize method +(void) initialize { NSMutableDictionary* defaultValues = [NSMutableDictionary dictionary]; NSData* backgroundColorData = [NSKeyedArchiver archivedDataWithRootObject:[NSColor greenColor] ]; NSData* lineColorData = [NSKeyedArchiver archivedDataWithRootObject:[NSColor whiteColor] ]; [defaultValues setObject:backgroundColorData forKey:@"BGCOLOR"]; [defaultValues setObject:lineColorData forKey:@"LINECOLOR"]; [[NSUserDefaults standardUserDefaults] registerDefaults:defaultValues]; NSLog(@"registered defaults %@", defaultValues); } -- If you can't be kind, at least have the decency to be vague. _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]