2012-12-28 57 views
1

我點的興趣了一把,想硬編碼他們,但似乎沒有要在Objective-C潔淨設備這樣做。如何在iOS中存儲GPS座標?

我想兩個數字字符串相關聯: @「冷點」,37.77794,-122.41933

我需要NSString的的一個NSDictionary和每個浮點轉換成字符串?把所有這些分開看起來太費勁了?我應該做一個c-struct嗎?這種情況一定會出現很多,但不能想到這是一個乾淨的解決方案。

感謝

回答

6

你是如何打算的存儲呢?如果您使用的是核心數據,那麼您最簡單的選擇是使用2個單獨的數字作爲經度和緯度,然後在訪問數據時簡單地創建一個座標(CLLocationCoordinate2D如tom提到的那樣)

它非常依賴因爲iOS只允許爲不同的方法保存特定類型的對象。

如果你沒有真正將其存儲到文件,並只用它在內存中,然後根據湯姆說,像CLLocationCoordinate2D會的工作,這是一個結構,而不是一個對象。如果你想要一個實際的對象,那麼使用內部包含一個CLLocationCoordinate2D對象的CLLocation。

您可以創建一個CLLocationCoordinate2D對象:

CLLocationCoordinate2D coord = CLLocationCoordinate2DMake(latitude, longitude); 

或者,如果你需要的對象包裝,然後創建一個CLLocation對象:

CLLocation *loc = [[CLLocation alloc] initWithLatitude:latitude longitude:longitude]; 
+0

我只看到CLLocationCoordinate2dMake()宏,但認爲CLLocation應該更好。我需要將一個字符串與此座標相關聯,並認爲具有唯一位置名稱鍵和CLLocation *值的NSDictionary應該可以正常工作。 – tarabyte

+0

是的,一個字典會很好匹配一個字符串座標對:) – PaReeOhNos