Постоянное расположение ядра
-
06-07-2019 - |
Вопрос
Мне нужно сохранить текущее местоположение на «диске» 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 под рукой, поэтому в приведенном выше коде могут быть синтаксические ошибки, но вы поняли :)
Не связан с StackOverflow