Название заимствовано из этого вопроса , из которых этот не является дубликатом. Посмотрите мой ответ там, что было неправильно для этого спрашивающего; Я являюсь автором этого ответа, и моя проблема не в этом.
У меня есть табличное представление с тремя столбцами, привязки значений которых привязаны к трем свойствам arrangedObjects
контроллера массива. Контроллер массива contentArray
привязан к visitationResults
моего объекта документа; элементы в этом массиве являются экземплярами модельного класса (VisitationResult). Я также привязал selectionIndexes
и sortDescriptors
контроллера массива к свойствам моего документа.
Я мутирую свою собственность через пару аксессоров:
- (void) addVisitationResult:(VisitationResult *)newVisitationResult {
[self insertObject:newVisitationResult inVisitationResultsAtIndex:[self countOfVisitationResults]];
NSLog(@"arrayController arrangedObjects: %@", [arrayController arrangedObjects]);
}
Этот оператор NSLog
выполняется и подтверждает, что контроллер массива собирает и упорядочивает объекты моей модели. Это означает, что я просматриваю свою собственность и получаю уведомления KVO для моего документа (что доказывает, что проблема, возникшая у ранее задававшего вопрос - обойти свойство, не является моей проблемой).
Я добавил NSLog
операторов в методы доступа класса моей модели. Один из них вызывается контроллером массива для сортировки объектов (это свойство является ключом сортировки). Два других, о которых контроллер массива не знает, никогда не будут вызваны.
Таким образом, мое табличное представление остается пустым.