Зачем вам связывать значение NSProgressIndicator? - PullRequest
0 голосов
/ 04 февраля 2011

Какой смысл связывать значение NSProgressIndicator с вашим контроллером?Кажется, он никогда не запрашивает значение у контроллера, кроме как при запуске.Кажется, что единственный способ переместить NSProgressIndicator - отправить его #increaseBy :, который обходит мою привязку.Так зачем мне связываться?!

1 Ответ

5 голосов
/ 04 февраля 2011

Если значение привязки вашего пользовательского интерфейса не обновляется, это означает, что вы либо испортили привязку, либо код вашего контроллера не изменяет значение привязки способом, соответствующим наблюдениям значения ключа.Наиболее распространенная проблема - это fooIvar = val, а не [self setFooIvar:val] или self.fooIvar = val.

Apple ответит на вашу проблему:

[Что делать, если] Изменение значениясвойство модели программно не отражается в пользовательском интерфейсе

Если изменения, внесенные в значение модели программно, не отражаются в пользовательском интерфейсе, это обычно указывает на то, что объект модели не совместим с наблюдением значения ключа длясвойство или то, что вы изменяете значение способом, обходящим наблюдение значения ключа.Необходимо убедиться, что:

  • В классе модели включено автоматическое наблюдение значения ключа или реализовано ручное наблюдение значения ключа для свойства.
  • Что вы меняете значение с помощью средства доступаметод, или используя метод кодирования значения ключа.Непосредственное изменение значения переменной экземпляра не предоставляет уведомлений об изменениях наблюдения значения ключа.
  • Если ваше свойство модели является коллекцией, то вы изменяете содержимое в соответствии с наблюдением значения ключа.См. « Мой контроллер сбора не отображает текущие данные » для получения дополнительной информации.

Для этого ответа и ответов на другие распространенные проблемы см. "Устранение неполадокПривязки какао. "

Вы также должны взглянуть на примеров, предоставленных mmalc. Они являются ценным ресурсом.

...