Сохранение CoreLocation - PullRequest
       5

Сохранение CoreLocation

0 голосов
/ 28 ноября 2009

У меня есть необходимость сохранить текущее местоположение на «диске» на iphone, если приложение, которое я пишу, завершается. Затем, когда приложение запускается снова, я хочу восстановить эту информацию. Однако свойство координат CLLocation доступно только для чтения.

Что я могу сделать, чтобы сохранить эту информацию между вызовами программы (и повторно применить ее к объекту CLLocation)?

1 Ответ

3 голосов
/ 28 ноября 2009

Вы можете использовать NSDefaults для его хранения. Что-то вроде

#define kLocationLat @"LOCATION_LAT"
#define kLocationLng @"LOCATION_LNG"

// Store the location
[[NSUserDefaults standardUserDefaults] setDouble:location.coordinate.lat forKey:kLocationLat];
[[NSUserDefaults standardUserDefaults] setDouble:location.coordinate.lng forKey:kLocationLng];

// Retrieve the location
CLLocationDegrees lat = [[NSUserDefaults standardUserDefaults] doubleForKey:kLocationLat];
CLLocationDegrees lng = [[NSUserDefaults standardUserDefaults] doubleForKey:kLocationLng];
CLLocation *location = [[CLLocation alloc] initWithLatitude:lat longitude:lng];

Sam

PS У меня нет компьютера Mac, так что в приведенном выше коде могут быть синтаксические ошибки, но вы поняли:

...