2014-10-01 31 views
6

鑑於代碼CLLocationDegrees到字符串變量在斯威夫特

var latitude = userLocation.coordinate.latitude 

返回CLLocationDegrees對象,我怎麼能值存儲在一個變量,這樣我可以應用它作爲一個標籤的文本。

我可以在沒有任何問題的情況下將變量打印到控制檯,但顯然這並不會幫助我太多!

通過自動完成查看有價值的選項我看到有一個描述;

var latitude = userLocation.coordinate.latitude.description 

但是,這是返回我空?

感謝

+0

https://stackoverflow.com/questions/29466405/how-do-i-convert-corelocation-coordinates-to-a-字符串 – 2017-08-25 09:21:31

回答

-4

您可以使用此代碼把它轉化爲一個字符串:這裏

var oneString = String(userLocation.coordinate.latitude) 
+0

這不起作用,並提供初始化錯誤。 – Deekor 2015-01-09 19:26:33

+0

這工作正常。只要確保你沒有傳遞一個可選的userLocation通常就是。 – Andy 2017-11-28 14:20:31

22

因爲CLLocationDegrees僅僅是雙擊一個typedef,您可以輕鬆地將其分配給一個字符串變種,即:

var latitudeText:String = "\(userLocation.coordinate.latitude)" 
+0

注意:顯式類型定義只是可選的,賦值在沒有它的情況下工作。 – hedzs 2014-10-01 15:05:11

+0

這是此頁面上最簡單的解決方案。也適用於:'var lat =「\(result.location.coordinate.latitude)」' – Deekor 2015-01-09 19:27:23

+0

這對我有效(y) – sanjana 2015-07-05 23:06:22

5
let latitudeText = String(format: "%f", userLocation.coordinate.latitude) 

設置格式paramater您的需求。

6

沒有爲我工作。我得到的最接近的是緯度值的「可選(37.8)」,我認爲是因爲CLLocationCoordinate2D是一個可選的類參數。以下是我最後做得到一個簡單的字符串:

let numLat = NSNumber(double: (self.myLocation?.latitude)! as Double) 
let stLat:String = numLat.stringValue 
2
var lat = userLocation.coordinate.latitude 
var latData = String(stringInterpolationSegment: lat) 
+3

一般而言,如果答案包含對代碼意圖做什麼的解釋以及爲什麼解決問題,那麼答案會更有幫助。 – IKavanagh 2015-09-04 18:37:14