NSMutableArray сортировать пользовательский объект с помощью селектора - PullRequest
1 голос
/ 24 апреля 2011
@interface PlayerVO : NSObject {
NSString *name;
int duration;
}

@property (nonatomic, retain) NSString *name;
@property (readwrite) int duration;

@end

настраиваемый объект для сортировки по значению длительности (по возрастанию)

в другом классе я создал функцию,

- (NSComparisonResult)sort:(PlayerVO *)otherObject {
if ([self duration] < [otherObject duration]) {
    return NSOrderedAscending;
} else if([self duration] > [otherObject duration]){
    return NSOrderedDescending;
} else {
    return NSOrderedSame;
}
}

Функция вызова

[data sortedArrayUsingSelector:@selector(sort:)];

Я что-то здесь не так делаю?

1 Ответ

3 голосов
/ 24 апреля 2011

Когда вы используете sortedArrayUsingSelector:, предоставленный вами селектор будет отправлен объектам в массиве. Поэтому ваш -sort: метод должен быть объявлен и определен в классе сортируемых объектов, а не в другом классе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...