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