Таким образом, у меня есть пользовательский класс Foo
это имеет много участников:
@interface Foo : NSObject {
NSString *title;
BOOL taken;
NSDate *dateCreated;
}
И в другом классе я имею NSMutableArray
содержа список этих объектов. Я очень хотел бы отсортировать этот массив на основе dateCreated
свойство; я понимаю, что мог записать, мой собственный сортировщик для этого (выполните итерации массива и перестроения на основе даты), но я задавался вопросом, был ли надлежащий Objective C способ достигнуть этого?
Своего рода механизм сортировки, где я могу предоставить членскую переменную виду, был бы большим.
В C++ я раньше перегружал операторы <=>, и это позволило мне виду объектом, но у меня есть забавный чувствительный Objective C, мог бы предложить более хорошую альтернативу?
Большое спасибо
Сделать это довольно просто.
Сначала создайте в своем объекте Foo метод
- (NSComparisonResult) compareWithAnotherFoo:(Foo*) anotherFoo;
, который вернет
[[self dateCreated] compare:[anotherFoo dateCreated]];
В конце вызовите массив
[yourArray sortUsingSelector:@selector(compareWithAnotherFoo:)];
Надеюсь, это поможет, Пол
{{1} }