【发布时间】:2012-10-25 22:57:14
【问题描述】:
我有一个 NSTextField 绑定到某个对象的“缩放”属性。
在这个对象的类实现中,我有以下内容
- (void)setZoom:(CGFloat)zoom
{
_zoom = MAX(0, MIN(10, zoom));
}
如果我在文本字段中写“-5”,setZoom: 将被称为“-5”作为参数,_zoom 将被设置为 0。
那么问题是文本字段没有自我更新,它显示“-5”而不是重新读取它刚刚设置的属性值。
如果我在代码中执行myObject.zoom = -5;,文本字段将正确显示0。
我试图将 _zoom =... 包装在 willChangeValueForKey/didChangeValueForKey 调用中,但它没有改变任何东西。
【问题讨论】:
标签: cocoa properties key-value-observing