【发布时间】:2014-10-18 07:20:42
【问题描述】:
我正在尝试保存我的 CLLocation 位置以供将来在我的应用程序中使用。我想出了以下几点:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"/Locations.plist"];
NSMutableDictionary *data = [[NSMutableDictionary alloc] initWithContentsOfFile: path];
[data setValue:[NSKeyedArchiver archivedDataWithRootObject:location] forKey:@"LocationList"];
[data writeToFile:path atomically:YES];
NSMutableArray *array = [[NSMutableArray alloc] initWithArray:[NSKeyedUnarchiver unarchiveObjectWithData: (NSData *)[data objectForKey:@"LocationList"]]];
NSLog(@"%@",array);
当我运行我的应用程序时,编译器返回
-[NSKeyedUnarchiver initForReadingWithData:]: data is NULL
我做错了什么?还是有更好的标准方法来保存 CLLocation 数据?
【问题讨论】:
-
你不想专门使用 NSKeyedArchiver 吗?还是使用 CoreData 有意义?你的用例是什么?
标签: ios core-location cllocation nskeyedarchiver nskeyedunarchiver