控制对象属性更改的推荐方法是什么?

时间:2011-05-02 13:07:56

标签: objective-c design-patterns coding-style

假设我们有以下界面:

@interface ColoredView : NSView {
    NSColor *color;
}
@property (copy) NSColor *color;

- (id)initWithColor:(NSColor *)aColor;

@end

我们希望视图在颜色改变时显示动画,即动画应在颜色改变后触发。

问题是实现触发器逻辑的最佳位置是什么:setter,observeValue或其他什么?

1 个答案:

答案 0 :(得分:0)

如果可以,请使用设置者(使用,例如通知),否则使用KVO。 KVO理论上更好(两个类之间的耦合很少),但可能会有一些惊喜。