if(StartDate < EndDate)
{}
DateTime поддерживает нормальные операторы сравнения.
Подход, который я, вероятно, выбрал бы, состоит в том, чтобы иметь отдельный NSArrayController для каждого представления таблицы, а затем иметь содержимое одного контроллера массива, основанное на выборе другого.
Например, скажем, у вас есть табличное представление A, которое отображает список доступных жанров, поэтому у него есть контроллер массива A, содержимое которого подключено к вашему контексту управляемого объекта.
Затем, скажем, у вас есть табличное представление B, в котором показаны доступные исполнители для любого жанра, выбранного в таблице A. Эта таблица будет иметь свой собственный контроллер массива B, а массив содержимого для контроллера B привязан, так что «ключ контроллера» поле в IB установлено на ключ «выбора» контроллера A, причем «исполнители» являются модельным ключом (предполагается, что ваша сущность «Жанр» имеет отношение ко многим с именем «исполнители» к сущности «Исполнитель»). Поскольку вы передаете аргумент методу, предполагается, что готовые данные определяются примерно так:
- (void) dataReady:(NSData *)theData ...