2012-12-24 24 views
-1

我有以下NSArray從iOS中的數組獲取字典值?

(
     { 
     geometry =   { 
      location =    { 
       lat = "37.789632"; 
       lng = "-122.417004"; 
      }; 
     }; 
     icon = "http://maps.gstatic.com/mapfiles/place_api/icons/doctor-71.png"; 
    vicinity = "900 Hyde Street, San Francisco"; 
    }, 
     { 
     geometry =   { 
      location =    { 
       lat = "37.794774"; 
       lng = "-122.398941"; 
      }; 
     }; 
     icon = "http://maps.gstatic.com/mapfiles/place_api/icons/lodging-71.png"; 
vicinity = "2 Embarcadero Center, San Francisco"; 
} 
) 

從這個我怎麼能得到各指標的latitudelongitude

+2

這與Xcode無關。 – 2012-12-24 11:37:06

回答

2
for (int i=0 ; i<[parsedAry count] ; i++) { 

    NSMutableDictionary * location = [[[parsedAry objectAtIndex:i]objectForKey:@"geometry"]objectForKey:@"location"]; 
    NSString * lat = [location objectForKey:"lat"]; 
    NSString * lng = [location objectForKey:"lng"]; 
    [latAry addObject:lat]; 
    [LongAry addObject:lng]; 


} 

你必須創建和分配latAry和longAry

+0

你是否檢查過這段代碼 – thavasidurai

+0

丫我知道了。謝謝 – Honey

7

你甚至沒有想過這個呢? 我會幫你的玩意兒,而是幫助自己的人

NSArray *values = ...; 
for (NSDictionary *geometry in values) { 
    NSDictionary *loc = [geometry valueForKey:@"location"]; 
    if (loc) { 
     NSNumber *lat = [loc valueForKey:@"lat"]; 
     NSNumber *lng = [loc valueForKey:@"lng"]; 
     if (lat && lng) { 
      // do whatever 
     } 
    } 
} 

編輯:也許是這樣的

NSArray *values = ...; 
for (NSDictionary *item in values) { 
    NSDictionary *geo = [item valueForKey:@"geometry"]; 
    if (geo) { 
     NSDictionary *loc = [geometry valueForKey:@"location"]; 
     if (loc) { 
      NSNumber *lat = [loc valueForKey:@"lat"]; 
      NSNumber *lng = [loc valueForKey:@"lng"]; 
      if (lat && lng) { 
       // do whatever 
      } 
     } 
    } 
} 
+0

嘗試了ur代碼。但它甚至沒有輸入,如果(loc){循環 – Honey

+1

@arizah爲什麼你不把這個答案作爲一個起點,並試圖讓它工作 - 這就是編程的內容。你不能指望通過複製和粘貼代碼塊來編寫代碼。我們在這裏幫助你,而不是爲你做你的工作。 –

+0

我建議你先給出正確答案,然後降低其他問題的答案。 – Honey