Am 06.10.2011 um 15:54 schrieb Torsten Curdt: > Well, if the model is more complex and you bind the view to the model > you can of course trigger the re-display on the observed changes. But > what about a simple title property of e.g. a NSButton? > > ...and I guess triggering a re-display is not the only use case for > this "setter extension" - or whatever you want to call it.
I never implement setters/getters for myself. I find it error-prone and it feels wrong to me. To give you another example. I use KVO to generate background images in UIButton [self addObserver:self forKeyPath:@"color" options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld | NSKeyValueObservingOptionInitial context:NULL]; [self addObserver:self forKeyPath:@"size" options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld | NSKeyValueObservingOptionInitial context:NULL]; [self addObserver:self forKeyPath:@"showShadow" options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld | NSKeyValueObservingOptionInitial context:NULL]; - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { if (![change keyValueChanged]) { return; } if([keyPath isEqualToString:@"color"] || [keyPath isEqualToString:@"size"] || [keyPath isEqualToString:@"showShadow"]) { [self setBackgroundImage:[HDEButton backgroundImageForButtonWithColor:self.color size:self.size] forState:UIControlStateNormal]; [self setBackgroundImage:[HDEButton backgroundImageForButtonWithColor:HDEGrayBackgroundColor size:self.size] forState:UIControlStateDisabled]; [...] Self observing works great for me._______________________________________________ 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