On Mar 23, 2009, at 1:54 PM, Matthias Arndt wrote:

Please help me: What is the key path of a value stored in the shared user defaults?

I'm using a sub-classed NSViewController to enhance the print panel with an accessory view:

NSBundle *appBundle = [NSBundle bundleForClass:[self class]];
NSViewController *accessoryViewController = [[PrintOptions alloc] initWithNibName:@"PrintOptions" bundle:appBundle]; [[printOperation printPanel] addAccessoryController:accessoryViewController];

The view "PrintOptions" includes three checkboxes, all bind to the Shared User Defaults Controller. The printed view uses these values to modify its output. Everything works fine except the preview in the print panel: It isn't updated when I check / uncheck any of the boxes, although the view controller conforms to the "NSPrintPanelAccessorizing" protocol and should use KVO to be notified for changes.

I think my "keyPathsForValuesAffectingPreview" implementation is wrong as I don't know how to reference a shared user default:

- (NSSet *)keyPathsForValuesAffectingPreview
{
return [NSSet setWithObjects: @"PrintFastMode", @"PrintJumps", @"PrintGrid", nil];
}

The documentation I found only mentioned an example with document margins, but what is the key path for properties bind to the user defaults? Sorry, I'm totally lost ...


OTOH, you could have an outlet to the defaults controller, say, named "defaultsController" and use @"defaultsController.values.DEFALTSKEY" to keyPathsForValuesAffectingPreview. I think that is supposed to work...

HTH,

Keary Suska
Esoteritech, Inc.
"Demystifying technology for your home or business"

_______________________________________________

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 arch...@mail-archive.com

Reply via email to