Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
先加载JSON数据,然后模拟iOS_Ios_Json - Fatal编程技术网

先加载JSON数据,然后模拟iOS

先加载JSON数据,然后模拟iOS,ios,json,Ios,Json,假设您正在不断地从服务器读取json数据。比方说,您正在获取天气数据。我只想显示2小时后的数据。每当用户单击“播放”按钮时,它都会在地图上显示天气数据。 如何先保存json数据,然后在地图上显示。因为这将增强我的应用程序,而不是连接服务器,同时获取数据并显示数据。请给我一些建议。我需要先将其保存为plist还是数组?在模拟之前,我应该将此数据保存在何处?将其存储在文档目录的plist中是保存数据以供以后参考的好方法。如果要保存JSON字符串,还可以选择NSUSerDefaults…(如果字符串不

假设您正在不断地从服务器读取json数据。比方说,您正在获取天气数据。我只想显示2小时后的数据。每当用户单击“播放”按钮时,它都会在地图上显示天气数据。

如何先保存json数据,然后在地图上显示。因为这将增强我的应用程序,而不是连接服务器,同时获取数据并显示数据。请给我一些建议。我需要先将其保存为plist还是数组?在模拟之前,我应该将此数据保存在何处?

将其存储在文档目录的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];

谢谢。实际上,这根绳子会很大。如何更新我的plist。我应该删除并重新创建吗?建议这样做吗?你知道有什么文件可以帮我弄清楚吗?非常感谢!!。你认为在临时plist中保存我的数据是最好的解决方案,对吗?因为我想避免一直连接到服务器,只要用户请求连接,我就给加载时间将数据写入plist并从plist读取数据。。否则用户可能会认为应用程序运行缓慢。