Если значение привязки вашего пользовательского интерфейса не обновляется, это означает, что вы либо испортили привязку, либо код вашего контроллера не изменяет значение привязки способом, соответствующим наблюдениям значения ключа.Наиболее распространенная проблема - это fooIvar = val
, а не [self setFooIvar:val]
или self.fooIvar = val
.
Apple ответит на вашу проблему:
[Что делать, если] Изменение значениясвойство модели программно не отражается в пользовательском интерфейсе
Если изменения, внесенные в значение модели программно, не отражаются в пользовательском интерфейсе, это обычно указывает на то, что объект модели не совместим с наблюдением значения ключа длясвойство или то, что вы изменяете значение способом, обходящим наблюдение значения ключа.Необходимо убедиться, что:
- В классе модели включено автоматическое наблюдение значения ключа или реализовано ручное наблюдение значения ключа для свойства.
- Что вы меняете значение с помощью средства доступаметод, или используя метод кодирования значения ключа.Непосредственное изменение значения переменной экземпляра не предоставляет уведомлений об изменениях наблюдения значения ключа.
- Если ваше свойство модели является коллекцией, то вы изменяете содержимое в соответствии с наблюдением значения ключа.См. « Мой контроллер сбора не отображает текущие данные » для получения дополнительной информации.
Для этого ответа и ответов на другие распространенные проблемы см. "Устранение неполадокПривязки какао. "
Вы также должны взглянуть на примеров, предоставленных mmalc. Они являются ценным ресурсом.