Уведомление системы привязок cocoa, когда код изменяет свойство с помощью вместо интерфейса
-
05-07-2019 - |
Вопрос
Я пишу таймер обратного отсчета и вместо того, чтобы звонить -[NSTextField setDoubleValue:secondsRemaining]
на каждом тике я хотел бы привязать secondsRemaining
свойство к элементу интерфейса через контроллер объекта.
Проблема с этим заключается в том, что secondsRemaining
изменяется кодом при каждом тике, а не интерфейсом, поэтому изменение, похоже, не транслируется.
У меня есть две части ответа на этот вопрос:
1) Является ли это разумным способом использования привязок или я должен придерживаться -[NSTextField setDoubleValue:]
в моем контроллере приложения?
2) Если я действительно использую привязки, как сообщить интерфейсу, что значение изменилось?
Спасибо!
Решение
Либо используйте сеттер, совместимый с KVO, либо отправка уведомлений вручную когда вы изменяете значение.