Indeed. Both the setters and getters are being called. I looked in the plist file for my app and I see "BgColor" and "LineColor" as values with a bunch of digits/hex for its value.
On Sun, Jul 6, 2008 at 10:13 PM, Thomas Mueller < [EMAIL PROTECTED]> wrote: > Hi, > > Are the setters actually being called? Maybe the values are never > being stored in the defaults? Maybe have a look at the preferences > file for your app (in ~Library/Preferences) to see if anything is > stored in there. I guess you won't be able to see *which* color is > stored, though. > > Just an idea; I'm just a few chapters ahead of you, so I'm probably > wrong... :-) > > Regards, > Thomas > > > 2008/7/7 Alex Wait <[EMAIL PROTECTED]>: > > 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/thomasmueller76%40googlemail.com > > > > This email sent to [EMAIL PROTECTED] > > > -- 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]