Распространение изменений значения программного текстового поля в модели с использованием привязок какао - PullRequest
2 голосов
/ 29 ноября 2011

Я попробовал очень простую реализацию, например:

@implementation ScrollingTextField
- (void)scrollWheel:(NSEvent *)event {
    self.doubleValue -= event.scrollingDeltaY;
}
@end

Я связал value текстового поля с прокруткой с другим объектом.Прокрутка теперь обновляет видимый текст в текстовом поле просто отлично.Однако связанное значение не изменяется.

Почему связанное значение не изменяется?Или: Как я могу заставить связанное значение распознать изменение?

1 Ответ

5 голосов
/ 15 мая 2012

Связанное значение не меняется в соответствии с дизайном Apple .Чтобы распространить значение на модель самостоятельно после изменения, адаптируйте этот код:

NSDictionary *bindingInfo = [self infoForBinding:NSValueBinding];
[[bindingInfo valueForKey:NSObservedObjectKey] setValue:self.doubleValue
                                             forKeyPath:[bindingInfo valueForKey:NSObservedKeyPathKey]];

(Спасибо @DrummerB за эту ссылку Apple!)

...