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)?

War es hilfreich?

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
scroll top