[英]sort an NSArray of CLLocation objects
我有一个CLLocation
对象数组。 我想订购这个数组与用户当前位置的距离。
我知道我可以计算用户位置和每个CLLocation
对象之间的距离,然后用这个距离对它进行排序。 还有其他解决方案不需要计算吗? 谢谢。
没有计算它就无法获得距离。 但计算相当简单,您只需在比较器块中执行一次。
[array sortUsingComparator:^NSComparisonResult(id o1, id o2) {
CLLocation *l1 = o1, *l2 = o2;
CLLocationDistance d1 = [l1 distanceFromLocation:userLocation];
CLLocationDistance d2 = [l2 distanceFromLocation:userLocation];
return d1 < d2 ? NSOrderedAscending : d1 > d2 ? NSOrderedDescending : NSOrderedSame;
}];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.