我正在尝试对 2 个 CLLocationDegrees 对象数组进行排序,以便我可以确定最小和最大纬度和经度以使用 Swift 将 map 居中。

var latitudes = [CLLocationDegrees]()
var longditudes = [CLLocationDegrees]()

self.latitudes.append(mylocation.coordinate.latitude)
self.longditudes.append(mylocation.coordinate.longitude)

latitudes = latitudes.sort({ $0 < $1 })
longditudes = longditudes.sort({ $0 < $1 })

当我对数组进行排序时,出现错误:“() 不可转换为类型 [(CLLocationDegrees)]”

我不确定我是否理解这一点,CLLocationDegree 对象存储为 Double 值,为什么我不能以这种方式对它们进行排序?

最佳答案

把它放到一个操场上,看看做你想做的事情的两种方式

import UIKit
import CoreLocation

var latitudes : [CLLocationDegrees] = []
var longditudes :[CLLocationDegrees] = []

latitudes.append(100.0) // Just using a Double as an example
longditudes.append(120.0)

latitudes.sort() {
    $0 < $1
}

longditudes.sort({ $0 < $1 })
sort 执行就地排序,因此您无法将其分配给自身。

关于ios - CLLocationDegrees 对象的排序数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27727035/

10-12 19:35