オブジェクトの「ズーム」プロパティにバインドされた NSTextField があります。
このオブジェクトのクラス実装には、次のものがあります
- (void)setZoom:(CGFloat)zoom
{
_zoom = MAX(0, MIN(10, zoom));
}
テキストフィールドに「-5」と書くsetZoom:
と、「-5」を引数として が呼び出され、_zoom が 0 に設定されます。
問題は、テキストフィールド自体が更新されず、設定したばかりのプロパティ値を再読み取りする代わりに「-5」が表示されることです。
コードで行うmyObject.zoom = -5;
と、テキスト フィールドに 0 が正しく表示されます。
_zoom =... を willChangeValueForKey/didChangeValueForKey 呼び出し内にラップしようとしましたが、何も変わりませんでした。