gpt4 book ai didi

objective-c - 按距离排序

转载 作者:可可西里 更新时间:2023-11-01 04:16:46 28 4
gpt4 key购买 nike

我在数组中有一组字典。我在表格 View 中显示此数据。在表格 View 中,我计算到每个对象的距离并将其显示在单元格中。

数据需要能够根据升序排序,显然是每个用户位置 什么是解决这个问题的最佳方法?我想分开所有的字典并插入距离,然后放开 NSSortDescriptor,问题是,我太懒了。

现在我只是使用 indexPath.row 遍历所有数据并显示它。

最佳答案

您可以使用基于 block 的比较器 API 轻松排序。

NSArray *rawData = [NSArray arrayWithContentsOfFile:pathDoc];

rawData = [rawData sortedArrayUsingComparator: ^(id a, id b) {

CLLocationDistance dist_a= [[a objectsForKey:@"coordinate"] distanceFromLocation: userPosition];
CLLocationDistance dist_b= [[b objectsForKey:@"coordinate"] distanceFromLocation: userPosition];
if ( dist_a < dist_b ) {
return NSOrderedAscending;
} else if ( dist_a > dist_b) {
return NSOrderedDescending;
} else {
return NSOrderedSame;
}
}];

您应该很容易找到 calculate_distance(user_position, a); 与 google 的实现。

关于objective-c - 按距离排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7769492/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com