UITableView按下按钮排序内容

时间:2013-06-05 22:32:50

标签: ios objective-c uitableview core-location

我有一个包含位置的表格视图,我想在按下按钮时按附近位置过滤它们。我在想,当我按下按钮时,应用程序可以重新加载附近位置的表格视图,但我无法弄清楚如何进行过滤。

1 个答案:

答案 0 :(得分:1)

假设您有NSArrayCLLocation个对象,我们称之为locationsCLLocation *currenLocation代表您当前的位置。

NSArray *sortedLocations = [locations sortedArrayUsingComparator:^(id obj1, id obj2) {
        CLLocationDistance distance1 =  [currentLocation distanceFromLocation: (CLLocation *)obj1];
        CLLocationDistance distance2 =  [currentLocation distanceFromLocation: (CLLocation *)obj2];

        return distance1 - distance2;
    }];

编辑:您可以使用CLLocationManager对象通过委托方法频繁更新用户的位置。您可以startUpdatingLocation启动它。查看this以获取更多信息。

如果您的地理位置为– initWithLatitude:longitude:,则可以创建一个CLLocation