[英]Sorting Array of CLLocationDegrees Objects
我正在嘗試對2個CLLocationDegrees對象數組進行排序,這樣我就可以確定使用Swift使地圖居中的最小和最大緯度和經度。
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
執行排序,因此您無法將其分配給自身。
試着閱讀編譯器說的內容。 “ ()
是不能轉換的類型[(CLLocationDegrees)]
。在()
是指Void
。這就是正確的。 Void
只是typealiased空的元組是()
因此,編譯說你要分配Void
到CLLocationDegrees
陣列。這意味着latitudes.sort({ $0 < $1 })
返回Void
。
從這里你可以繼續閱讀@ Abizern的答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.