Objective c 如何在应用程序关闭后将PIN保存到地图
因此,在我的应用程序中,用户在地图上放置PIN。我不知道的是如何在应用程序中保存PIN,这样当用户再次打开应用程序并转到mapView时,上次打开应用程序时放在地图上的PIN仍然在地图上。有人知道我该怎么做吗 我建议您从该销获取坐标。您可以先将它们保存在NSMutableArray中。完成后,您可以将此阵列保存在NSKeyedArchive中,如下所示Objective c 如何在应用程序关闭后将PIN保存到地图,objective-c,memory-management,mkmapview,Objective C,Memory Management,Mkmapview,因此,在我的应用程序中,用户在地图上放置PIN。我不知道的是如何在应用程序中保存PIN,这样当用户再次打开应用程序并转到mapView时,上次打开应用程序时放在地图上的PIN仍然在地图上。有人知道我该怎么做吗 我建议您从该销获取坐标。您可以先将它们保存在NSMutableArray中。完成后,您可以将此阵列保存在NSKeyedArchive中,如下所示 NSMutableData *data = [[NSMutableData alloc]init]; NSKeyedArchiv
NSMutableData *data = [[NSMutableData alloc]init];
NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
[archiver encodeObject:pinArray forKey:@"PinArray"];
[archiver finishEncoding];
[data writeToFile:archivePath atomically:YES];
BOOL success = [NSKeyedArchiver archiveRootObject:pinArray toFile:archivePath];
启动应用程序时,您可以阅读此存档:
if ([[NSFileManager defaultManager] fileExistsAtPath:archivePath]) {
NSData *data = [NSData dataWithContentsOfFile:archivePath];
NSMutableArray *pinCollection = [[NSMutableArray alloc] init];
if (data){
pinCollection = [NSKeyedUnarchiver unarchiveObjectWithData:data];
}
else pinCollection = nil;
return pinCollection;
}
并根据保存的坐标在地图上定位 添加到您的答案中:在
NSArray*annotations
属性中保留其PIN。什么是archivePath?那是存储数据的文件吗?是的,它是文件的路径。