On 12 Dec 2008, at 11:36 pm, Aaron Wallis wrote:

Hi there,

I'm having issues setting up bindings via code (rather than in IB)

I've got a NSObject subclass which is being used as the controller, and a NSView subclass which has a few controls like NSSliders.
In the NSObject I have the following code:

- (void)setupSliders {
[controlsView.tempSlider addObserver:self forKeyPath:@"value" options:NSKeyValueObservingOptionNew context:NULL];
}

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject: (id)object change:(NSDictionary *)change context:(void *)context {
   NSLog(@"It's Changed!!");
[super observeValueForKeyPath:keyPath ofObject:object change:change context:context];
}

When I build and run the controls are rendered as expected however when I interact I don't get the "It's changed" message.

Any ideas where I could be going wrong?


If you're setting it up in code I wouldn't bother with KVO - just use classic target/action (making sure the slider is set to 'continuous'). KVO isn't really designed to observe changes from a control - usually it's used the other way around to set a control when a data model value changes. The classic approach is really much easier.

--Graham


_______________________________________________

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