Привязка значения метки к свойству count NSArray - PullRequest
2 голосов
/ 16 января 2012

Я хочу показать в метке текущее количество элементов в NSArray, называемых страницами.Следуя другим руководствам, я сделал следующее:

  1. Создаю NSArrayController в IB (называемый pagesController) и привязываем его к страницам NSArray
  2. Ограничиваем свойство value метки для NSArrayController с помощьюКлавиша контроллера =ограмма расположенного объекта и путь к модели = @ count

Проблема в том, что при запуске программы метка всегда показывает "0".Чтобы проверить, что все работает правильно, я попытался записать сообщение, когда пользователь нажимает на другую кнопку (кнопка в основном вставляет новый элемент в массив страниц): NSLog(@"count = %d", [self.pagesController valueForKeyPath:@"arrangedObjects.@count"]); в этом случае вывод правильный, то есть текущий номерэлементов в напечатанном массиве является правильным.Где я ошибаюсь?

1 Ответ

0 голосов
/ 16 января 2012

Вы не правильно используете KVC. Ваш контроллер массива будет уведомлен только с переопределенным свойством pages, а не когда объекты добавляются в массив. Попробуйте обернуть ваш код соответствующими уведомлениями об изменениях:

[self willChangeValueForKey:@"pages"];
[pages addObject:someObject];
[self didChangeValueFOrKey:@"pages"];
...