Re: KVO on NSSlider not observing
Re: KVO on NSSlider not observing
- Subject: Re: KVO on NSSlider not observing
- From: Aaron Wallis <email@hidden>
- Date: Sat, 13 Dec 2008 00:20:46 +1100
Thanks for the help Graham and Keith.
Usually I'd just use bindings in IB, but this is the first time i've
had to build the interface through code.
There's always something to learn it seems :D
- Az
On 13/12/2008, at 12:12 AM, Graham Cox wrote:
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 (email@hidden)
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:
This email sent to email@hidden