想象一下,您正在连续从服务器读取json数据。让我们说,你得到的是天气数据。我想在2小时后才显示数据。每当用户点击播放按钮时,它就会在地图上显示天气数据 我如何首先保存json数据然后在地图上显示它。因为这会增强我的应用程序而不是连接服务器,获取数据并同时显示它。请给我建议。我是否需要先将其保存为plist或数组?在我模拟之前,我应该在哪里保留这些数据?
答案 0 :(得分:1)
将它存储在文档目录中的plist中是保存数据供以后参考的好方法。如果要保存JSON字符串,也可以选择NSUSerDefaults ..(最好是字符串不是太大)< / p>
保存到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];