簡體   English   中英

對CLLocationDegrees對象進行排序

[英]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空的元組是()因此,編譯說你要分配VoidCLLocationDegrees陣列。這意味着latitudes.sort({ $0 < $1 })返回Void

從這里你可以繼續閱讀@ Abizern的答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM