Я пытаюсь отсортировать массив, передавая аргумент селектору.
Например, у меня есть массив местоположений, и я хочу отсортировать этот массив на основе расстояния, которое они имеют от определенной точки (например, моего текущего местоположения).
Это мой селектор, но я не знаю, как его назвать.
- (NSComparisonResult)compareByDistance:(POI*)otherPoint withLocation:(CLLocation*)userLocation {
int distance = [location distanceFromLocation:userLocation];
int otherDistance = [otherPoint.location distanceFromLocation:userLocation];
if(distance > otherDistance){
return NSOrderedAscending;
} else if(distance < otherDistance){
return NSOrderedDescending;
} else {
return NSOrderedSame;
}
}
Я пытаюсь отсортировать массив с помощью следующей функции, но не могу передать свое местоположение селектору:
- (NSArray*)getPointsByDistance:(CLLocation*)location
{
return [points sortedArrayUsingSelector:@selector(compareByDistance:withLocation:)];
}