NSCollectionView не обновляет подпредставления об изменении данных - PullRequest
2 голосов
/ 04 августа 2009

Я настроил NSCollectionView через Интерфейсный Разработчик. Мой вид прототипа содержит индикатор прогресса и текстовое поле. Я установил привязки так, чтобы мой объект «задача» поддерживал значение индикатора прогресса и значение текстового поля.

Все работает нормально, когда я добавляю новые объекты в коллекцию (через [NSCollectionView newItemForRepresentedObject:], который я добавляю в свой контроллер массива). Начальное значение индикатора прогресса и текстовое поле устанавливаются соответствующим образом. Однако при изменении значений это не отражается в представлении прототипа. Значения всегда сохраняют свои начальные значения.

Я попытался добавить указатель на представление прототипа в объекте «задача» и попытаться принудительно выполнить обновление через [NSView setNeedsDisplay:TRUE], но безрезультатно. Я вложил в подкласс прототип вид и дал ему выход для индикатора прогресса, чтобы я мог осмотреть его, чтобы увидеть его значение во время выполнения и, как ни странно, даже если представление успешно создается, индикатор прогресса - нет! Совершенно противоречит тому факту, что он действительно отображает и поддерживает начальное значение!

Можно ли каким-либо образом, используя текущую настройку, распространить изменения в представлении?

Заранее спасибо.

1 Ответ

2 голосов
/ 05 августа 2009

Ваша настройка привязок должна быть достаточной.

С чем связан ваш индикатор прогресса? Убедитесь, что он отправляет уведомления KVO при обновлении значения прогресса.

...