想象一下,您正在不断地从服务器读取 json 数据。假设您正在获取天气数据。我只想显示 2 小时后的数据。每当用户点击播放按钮时,它都会在地图上显示天气数据。
我如何先保存 json 数据然后将其显示在地图上。因为这将增强我的应用程序,而不是连接服务器、获取数据并同时显示它。请给我建议。我需要先将其保存为 plist 还是数组?在模拟之前我应该把这些数据保存在哪里?
问问题
171 次
1 回答
1
将其存储在文档目录的 plist 中是一种保存数据以供以后参考的好方法。如果要保存 JSON 字符串,也可以选择 NSUSerDefaults ..(如果字符串不太大,最好)
保存到 plist..
NSURL *url = [NSURL URLWithString:serverPath];
NSData *urlData = [NSData dataWithContentsOfURL:url];
if ( urlData )
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [NSString stringWithFormat:@"%@/myplist.plist", documentsDirectory];
[urlData writeToFile:filePath atomically:YES];
}
并检索它..
NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:
[NSString stringWithFormat: @"%@/myplist.plist",documentsDirectory ] ];
NSData *retrievedData = [NSData dataWithContentsOfFile:filePath];
于 2012-09-27T05:51:39.747 回答