代码之家  ›  专栏  ›  技术社区  ›  KevinDTimm

坚持核心定位

  •  0
  • KevinDTimm  · 技术社区  · 15 年前

    如果我正在编写的应用程序被终止,我需要将当前位置存储到iPhone上的“磁盘”。然后,当应用程序再次启动时,我想还原此信息。但是,cllocation坐标属性是只读的。

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

    1 回复  |  直到 15 年前
        1
  •  3
  •   deanWombourne    15 年前

    您可以使用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,所以上面的代码中可能有语法错误,但您知道了:)