0

サーバーから json データを継続的に読み取っているとします。たとえば、気象データを取得しているとしましょう。今から2時間前のデータだけを表示したい。ユーザーが再生ボタンをクリックするたびに、地図上に気象データが表示されます。
最初にjsonデータを保存してからマップに表示するにはどうすればよいですか。それは、 server に接続する代わりにアプリケーションを強化し、データを取得して同時に表示するためです。私にアドバイスをください。最初に plist または配列として保存する必要がありますか? シミュレートする前に、このデータをどこに保管すればよいですか?

4

1 に答える 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 に答える