【问题标题】:Swift - Is there any way I can filter closer values from an arraySwift - 有什么方法可以从数组中过滤更接近的值
【发布时间】:2017-11-10 16:05:30
【问题描述】:

我得到了一组位置对象。 (纬度,经度,位置名称)。 从早上到晚上从用户 GPS 接收位置。

挑战: 我想通过过滤位置对象来创建行程。

例如:行程 1 将包含从一个起点到另一个起点的位置,行程 2 将包含...

用户每天可以进行 2/3 次行程。

问题: 如何在 swift iOS 中对包含更接近(值)纬度和经度的数组进行分组?

编辑 如果用户正在旅行,则从数组中获取数据,否则留下它们,以便我可以从该数组中旅行

高度赞赏的任何想法。

【问题讨论】:

  • 目前还不清楚您要使用什么标准来过滤位置数组。
  • @RamyAlZuhouri:我们如何快速过滤出更接近的值?
  • 你的意思是排序吗?
  • @user3804063:您是否搜索过“按距离排序”?
  • 回复:@user3804063:您是否搜索过“按距离排序”?

标签: ios arrays swift maps filtering


【解决方案1】:

我认为在 swift 中没有像魔术代码这样的方法。

我实际解决的方法是使用传统的解决技术。 我做了一个for循环,里面做了一个检查器(检查两个连续元素的时间间隔是否> 30分钟,然后将收集的数组元素作为对象添加到主数组。

如果有人搜索此类,请应用您自己的逻辑。

【讨论】:

    【解决方案2】:
    var closure:((_ sender:UIButton)->())? = nil
    var closure:((_ sender:UIButton)->())? = nil
    closure!(sender)
    cell.closure = { (sender:UIButton) -> Void in
    
            debugPrint("\(indexPath.row + 1)")
            debugPrint(sender.tag)
        }
    

    【讨论】:

    • 欢迎来到 Stack Overflow!虽然这段代码 sn-p 可以解决问题,但including an explanation 确实有助于提高帖子的质量。请记住,您正在为将来的读者回答问题,而这些人可能不知道您的代码建议的原因。也请尽量不要用解释性的 cmets 挤满你的代码,这会降低代码和解释的可读性!
    • 请解释这段代码为什么或如何回答这个问题。提供解释将更好地说明为什么您的答案是最佳解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-13
    • 1970-01-01
    相关资源
    最近更新 更多