控制对象属性变化的推荐方法是什么

发布于 2024-11-04 12:57:13 字数 271 浏览 0 评论 0原文

假设我们有以下界面:

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

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

@end

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

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

Assume we have the following interface:

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

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

@end

And we want view to show an animation whenever color is changed i.e. the animation should trigger just after color is changed.

The question is what is the best place to implement trigger logic: setter, observeValue or something else?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

£噩梦荏苒 2024-11-11 12:57:13

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

In the setter (using, e.g., notifications) if you can, otherwise using KVO. KVO is nicer in theory (very little coupling between the two classes) but can come with a few surprises.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文