坚持CoreLocation

时间:2009-11-28 17:36:09

标签: iphone core-location

如果我写的应用程序终止,我需要将当前位置存储到iphone上的'disk'。然后,当应用程序再次启动时,我想恢复此信息。但是,CLLocation坐标属性是只读的。

如何在程序调用之间保存此信息(并将其重新应用于CLLocation对象)?

1 个答案:

答案 0 :(得分:3)

您可以使用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,所以上面的代码中可能存在语法错误,但你明白了这一点:)