モデルにバインドされた NSTextField があります。テキスト フィールドの内容をプログラムで変更しても、モデルは更新されません。代わりにモデルを更新することになっていることは知っています。
しかし、マウスをスクロールして数値を変更しているときにスクロールを認識する NSTextField サブクラスを実装しようとしています。明らかに、このサブクラスからモデルにアクセスすることはできません。それで、私がこれを行う方法について何か提案はありますか?
解決策(ノアに感謝):
- (void)scrollWheel:(NSEvent *)theEvent {
[self setFloatValue:[self floatValue] - [theEvent deltaY]];
NSDictionary *bindingInfo = [self infoForBinding: NSValueBinding];
NSObject *boundObject = [bindingInfo valueForKey:NSObservedObjectKey];
NSString *keyPath = [bindingInfo valueForKey:NSObservedKeyPathKey];
[boundObject setValue:[NSNumber numberWithFloat:[self floatValue]]
forKeyPath:keyPath];
}