2010-04-13 7 views
0

У меня есть текстовое поле, которое можно отредактировать вручную или установить через другой элемент управления. (Это номер страницы, поэтому вы можете перейти на страницу 16, набрав 16, или вы можете перемещаться вверх и вниз со следующими/предыдущими кнопками). У меня есть значение текстового поля, связанного с переменной переменной.Как NSTextField знает, что его значение изменилось?

Кажется, что он работает правильно, когда вы вводите номер страницы, он перескакивает, когда вы просматриваете вверх и вниз, номер страницы в текстовом поле изменяется соответствующим образом.

Однако на некотором уровне, когда я просматриваю вверх и вниз, текстовое поле, похоже, не знает, что это значение изменилось, потому что, если я набираю 1, он ничего не делает. Он не вызывает связанный метод набора или что-то еще. Похоже, текстовое поле думает: «Мне уже 1, так что мне не нужно ничего делать». Хотя это было 5, потому что я попал в 4 раза. Если я набираю число, отличное от 1, оно идет туда. Если я THEN типа 1, он переходит на страницу 1, потому что теперь он думает, что это на другой странице.

Проблема заключается в том, что я изменяю значение текстового поля программно, но какая-то часть не получает сообщение.

Это похоже на разумное объяснение? И в любом случае, какие-либо идеи о том, что вызывает это?

благодаря

ответ

0

Решение: для того, чтобы текстовое поле, чтобы вести себя правильно, мне нужно сделать все через связанной переменной экземпляра.

Проблема заключалась в том, что переменная экземпляра «page» на самом деле не существует, есть метод страницы и метод setPage, но фактическая страница хранится в другом месте. Когда я убеждаюсь вызывать метод setPage из следующего/предыдущего кода, он работает.

Смежные вопросы