Сортировка таблицы по заголовку столбца и синхронизация NSArrayController

Я относительно неопытный программист на Какао, который учится в основном, глядя на примеры кода, методом проб и ошибок, и это меня озадачивает: у меня есть таблица на основе представления, привязанная к NSArrayController. Каждый из столбцов имеет значение ячейки представления, привязанное к ключам objectvalue.description представления ячейки таблицы.

Проблема в том, что когда я щелкаю заголовок столбца для сортировки таблицы, массив не обновляет свой порядок вместе с ним. Поскольку я узнал в основном методом проб и ошибок, возможно, мне не хватает какой-то фундаментальной концепции, но я провел много поисков и ничего не нашел. Ближайший результат был здесь:

https://stackoverflow.com/questions/9280762/keep-nsarraycontroller-in-sync-with-sorted-nstableview

Разве привязки не должны синхронизировать массив и таблицу?


person tjf    schedule 25.04.2012    source источник


Ответы (1)


Нет, это упорядоченные объекты контроллера массива, которые синхронизируются с табличным представлением - когда вы сортируете таблицу, вы сортируете устроенные объекты контроллера массива, а не массив, который предоставляет контент контроллеру.

person rdelmar    schedule 26.04.2012
comment
Спасибо! Пытаясь синхронизировать массивы, я добавил следующий метод: - (IBAction)clickTable:(id)sender { [characterArray setArray:[characterArrayController arrangedObjects]]; } Это хороший способ или есть что-то лучше? - person tjf; 28.04.2012
comment
Я думаю, что это нормально, если вы хотите, чтобы они были отсортированы, как в таблице. - person rdelmar; 29.04.2012