Вопрос

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

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

Это было полезно?

Решение

Вы можете использовать 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];

Сэм

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top