persistierende Corelocation
-
06-07-2019 - |
Frage
Ich habe eine Notwendigkeit, den aktuellen Standort ‚Platte‘ zu speichern, auf dem iPhone, wenn die Anwendung ich schreibe beendet. Dann, wenn die App wieder beginnt, möchte ich diese Informationen wiederherzustellen. Allerdings koordinieren die CLLocation Eigenschaft nur gelesen wird.
Was kann ich tun, um diese Informationen zwischen Programmaufrufen zu speichern (und erneut anwenden, um es zu einem CLLocation Objekt)?
Lösung
Sie könnten NSDefaults verwenden zu speichern. So etwas wie
#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 Ich habe keinen Mac dort zur Hand, so könnte Syntaxfehler in dem obigen Code, aber Sie bekommen die Idee:)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow