加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在Swift中按计算距离对数组进行排序

发布时间:2020-12-14 05:45:49 所属栏目:百科 来源:网络整理
导读:所以我有一组自定义对象,它们具有Double纬度和Double经度值.我想根据从特定点到阵列中每个项目的位置的计算距离对数组进行排序.我有一个函数,将根据纬度和经度值计算距离.有没有简单的方法来完成这种排序? 假设您有一个适合您的对象的模型位置: class Plac
所以我有一组自定义对象,它们具有Double纬度和Double经度值.我想根据从特定点到阵列中每个项目的位置的计算距离对数组进行排序.我有一个函数,将根据纬度和经度值计算距离.有没有简单的方法来完成这种排序?
假设您有一个适合您的对象的模型位置:
class Place {
    var latitude: CLLocationDegrees
    var longitude: CLLocationDegrees

    var location: CLLocation {
        return CLLocation(latitude: self.latitude,longitude: self.longitude)
    }

    func distance(to location: CLLocation) -> CLLocationDistance {
        return location.distance(from: self.location)
    }
}

然后一个数组var放置:[Place]可以这样排序:

places.sort(by: { $0.distance(to: myLocation) < $1.distance(to: myLocation) })

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读