Sorry. forgot something. I should add this: I tried reading NSColorPanel from the file (it's a NSString) and I WAS able to read that just fine.
I think it has something to do with NSKeyedArchive/NSKeyedUnarchiver On Sun, Jul 6, 2008 at 10:40 PM, Alex Wait <[EMAIL PROTECTED]> wrote: > 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. > -- 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]