【问题标题】:UITableView sort content by pressing a button [closed]UITableView 通过按下按钮对内容进行排序[关闭]
【发布时间】:2013-06-05 22:32:50
【问题描述】:

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

【问题讨论】:

  • 如果它们不在附近,您想排除“过滤”位置吗?或者您只是想按从最近到最远的顺序显示它们?最新可以做NSArray的方法sortedArrayUsingComparator:
  • 对不起,我表达错误我想按最近的位置对它们进行排序

标签: ios objective-c uitableview core-location


【解决方案1】:

假设您有一个CLLocation 对象中的NSArray,我们称它为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

【讨论】:

  • 能否添加数组和当前位置的代码?
  • 你是指实例化它们的代码吗?
  • 是的,我以前在地图应用上使用了 CLLocationCoordinate2D,但我不知道该为谁做
  • @darkjuso 检查我的编辑
猜你喜欢
  • 2012-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多