Как отсортировать два разных объекта в NSArray? - PullRequest
1 голос
/ 10 февраля 2012

В моем NSArray у меня есть два типа объектов, скажем, объекты класса A и класса B. Я хочу отсортировать эти объекты, сравнивая свойство «startDate» класса A со свойством «endDate» класса B. И я не знаю, как сделать сравнение на основе двух разных свойств разных классов.

Какой лучший способ сделать это?

Ответы [ 2 ]

2 голосов
/ 10 февраля 2012

Блоки - это то, что вы хотите, взгляните на этот вопрос: Как отсортировать NSMutableArray с пользовательскими объектами в нем?

В примере блоков по этому вопросу просто есть классИспользование startDate и класс B используют дату окончания.

0 голосов
/ 17 февраля 2012

Я бы порекомендовал блок if / else и использование оператора

[myObject isKindOfClass: [класс ClassA]]

, который возвращает BOOL

Если вы хотите (или совместно), Apple рекомендует использовать

[myObject RespondsToSelector: @selector (начальная дата)]

Который также возвращает BOOL.

Блоки не очень актуальны в этой ситуации; Вы можете использовать этот шаблон проектирования внутри простой реализации метода, блоков, цикла for / while или где-либо еще.

...