0

私は現在、json 情報を格納するために使用している NSDictionary を持っています。JSON はもともと NSMutuable 配列にシリアル化されており、それを NSDictionary に割り当てています。

私の注釈メソッド (mkannotations をマップ ビューに追加するために使用しているメソッド) では、辞書をループして、辞書内の各オブジェクトのキーとして格納されている座標を介して注釈を追加しようとしています。

私の現在の結果は、1 つの注釈ビュー (マップ上のピン) のみを作成しているようです。ブレーク ポイントを介して見ると、辞書をループしているように見えますが、すべてのオブジェクトにアクセスしていないようです。私のコードは次のとおりです。

for (NSString* key in [[Global sharedglobal]jsonDictionary]) {

NSNumber *longtitude = [[[Global sharedglobal]jsonDictionary] objectForKey:@"v_lon"];
NSNumber *latitude = [[[Global sharedglobal]jsonDictionary] objectForKey:@"v_lat"];
} 

for 引数のキーは、@"v_lon" などのディクショナリ内のオブジェクトのいずれかのキーを参照する必要があると考えていますが、それは正しいようですか?

ありがとう

4

1 に答える 1

0

私はプログラミングが初めてなので、jsonが解析される方法を完全には理解していませんでした。次のように機能します。

json は、さまざまなデータを含むオブジェクトを含む 1 つの大きな配列です。

json がダウンロードされ、NSMutable 配列「jsonArray」に格納されます。

オブジェクトにアクセスするには、辞書に対して「for in loop」チェックを使用する必要がありました。これは、データが可変配列に格納される方法であるためです。そう:

for (NSDictionary *dict in jsonArray){
NSNumber *longtitude = [dict objectForKet:@"keyForLongtitudeEntry"];
}

これは、ディクショナリ タイプのすべてのオブジェクトを反復処理し、その経度変数を、この場合は「keyForLongtitudeEntry」で指定されたキーのオブジェクトの現在の値に設定します。

于 2013-01-15T08:50:54.117 に答える