У меня проблема с привязками между элементом NSComboBox
и элементом NSArrayController
.
Все привязки настроены в IB. Элемент NSComboBox
имеет следующие привязки:
- Содержимое: привязано к экземпляру
NSArrayController
, ключ:arrangedObjects
- Значения содержимого: привязаны к экземпляру
NSArrayController
, ключ:arrangedObjects.name
Элемент NSArrayController
связан следующим образом:
- Массив содержимого: привязан к
File's Owner
, ключевой путь:availableProperties
(который являетсяNSMutableArray
В коде у меня есть метод, который вызывается при открытии окна и после срабатывания некоторого события.
Код следующий:
NSMutableArray* newAvailable = ...; //compute the new properties to be displayed.
//now I want to replace all the properties with the new one
if ([self.availableProperties count] > 0)
[self.availablePropertiesController removeObjects:self.availableProperties];
[self.availablePropertiesController addObjects:newAvailables];
где self.availableProperties
— это NSMutableArray
(модель), а self.availablePropertiesController
— это NSArrayController
Когда окно открывается, поле со списком заполняется правильно. Но когда событие срабатывает, я выполняю приведенные выше операторы, я вижу, что резервный массив правильно заполнен, но поле со списком совершенно пусто.
Некоторые идеи?