Сортировка связанных данных в NSTableColumn с использованием привязки IB.
Ключи: NSTableColumn, сортировка, NSArrayController, набор содержимого
ContentSet служит источником данных для TableColumn
Это относится к SplitView с двумя столбцами NSTableViews.
Имена TableViews являются BookCategory и
Книги.
Таблица книг имеет один столбец с book_titles.
Класс BookCategory имеет отношение один ко многим
бронировать.
Таблица BookCategory сортируется при загрузке с использованием:
@implementation MyBookCategoryController
- (id)init
{
self = [super init];
if (self) {
// Initialization code here.
NSSortDescriptor *descript =
[NSSortDescriptor sortDescriptorWithKey:@"name"
ascending:YES selector:@selector(caseInsensitiveCompare:)];
[self setSortDescriptors:[[NSArray arrayWithObject:descript] autorelease] ];
}
return self;
}
This same approach fails to sort the BookTitle table at load. !!
The BookTitle table/column loads unsorted.
For the TableColumn the Attributes Inspector has
Sort Key:title
Selector: caseInsensitiveCompare:
Order: Ascending
Появляется, чтобы включить сортировку одним щелчком мыши
в заголовке столбца.
I want the data sorted when the view loads.
The binding inspector for this book_title column has:
Value : BookCategoryArrayController.arrangedObjects.name
The BookTitleArrayController in binding inspector shows
Content Set: Book Category ArrayController.selection.books
Чтобы сформулировать проблему, табличное представление с названиями книг
загрузка не отсортирована. Сортировка происходит только после того, как ПЕРВЫЙ пользователь нажмет на
заголовок столбца.
Скажем, есть три категории книг: Искусство, История, Спорт.
Когда приложение загружает левую таблицу в splitview, сортируется,
то есть:
Art
History
Sports
Когда пользователь выбирает ЛЮБУЮ категорию, названия для всех книг
в категории отображаются в правой таблице, но не отсортированы.
Если пользователь нажимает на заголовок book_title TableColumn
Первоначальная сортировка производится по столбцу. после этого
выбор ЛЮБОЙ категории книги вызывает сортировку
из book_titles в правом tableView. То есть ТОЛЬКО первый
Выбор категории приводит к несортированному списку названий книг.
Большое спасибо за чтение, Марк