У меня есть класс (от NSObject
), который содержит:
NSString name
int position
float speed
Затем я создаю массив (NSMutableArray
) объектов из этого класса. Я хотел бы затем отсортировать массив по значению «скорость», которое является float
.
У меня изначально есть значение float
как NSNumber
и int
как NSInteger
, и я успешно сортировал по:
[myMutableArray sortUsingFunction:compareSelector context:@selector(position)];
, где myMutableArray
- мой массив объектов.
вот функция:
static int compareSelector(id p1, id p2, void *context) {
SEL methodSelector = (SEL)context;
id value1 = [p1 performSelector:methodSelector];
id value2 = [p2 performSelector:methodSelector];
return [value1 compare:value2];
}
Теперь, когда я использую int
вместо NSInteger
, приведенный выше код не работает. Есть ли команда более низкого уровня, которую я должен использовать для выполнения сортировки? Спасибо!