xCode,按距离顺序查看表格单元格

时间:2012-06-07 20:18:33

标签: xcode uitableview ios5

在我的应用程序中,我正在尝试制作一个表格视图,从设备的距离顺序自行命令!所以假设我在表格中有20行,然后它们会进入距离顺序。

唯一的问题是,我是制作应用程序的新手,所以可能需要非常详细的解释!我多年来一直试图这样做......

如果有人帮助我们在Xcode中执行什么代码和我需要做什么,请做!非常感谢!!

任何帮助?

1 个答案:

答案 0 :(得分:0)

我强烈建议您阅读CLLocation(http://developer.apple.com/library/ios/#DOCUMENTATION/CoreLocation/Reference/CLLocation_Class/CLLocation/CLLocation.html),因为它会为您提供找出用户当前位置所需的所有信息。然后,一旦有了当前位置,就可以使用它和每个位置的纬度/经度来计算距离。在对象上设置距离后,您可以按对象上的属性(在您的情况下为俱乐部)对它们进行排序。

我正在使用以下代码段来计算从用户当前位置到另一个位置(在这种情况下是设施)的距离:

Facility *facility = [_facilities objectAtIndex:i];
CLLocation *facilityLocation = [[CLLocation alloc] initWithLatitude:[facility.latitude floatValue] longitude:[facility.longitude floatValue]];
if(facilityLocation){
    CLLocationDistance distance = [currentLocation distanceFromLocation:facilityLocation];
    double mileConversion = distance * 0.000621371192;

    NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
    formatter.maximumFractionDigits = 1;
    facility.distanceFromCurrentLocation = [formatter numberFromString:[formatter stringFromNumber:[NSNumber numberWithDouble:mileConversion]]];
}

我在前一段时间从某处获得了里程转换,这是因为一英里有1,609.344米。如果您只需要计量表,则可以排除该转化。另请注意,我只使用1位小数来显示UI。