我正在製作一個iPhone應用程序,其中我從http://maps.googleapis.com/maps/api/geocode/json?address=canada&sensor=true檢索JSON數據,然後我將它存儲在一個NSDictionary對象。我的代碼編譯得很好,並且JSON數據是有效的。但是,當我查找某些密鑰時,即使密鑰存在,它也會返回零,但我不會輸入錯誤。這是唯一可行的關鍵(飼料是一個NSDictionary對象):獲取objectForKey:在NSDictionary與JSON數據返回零即使密鑰存在
NSString *status = [[NSString alloc] initWithFormat:[feed objectForKey:@"status"]];
但是當我做這樣的事情:
NSString *longName = [[NSString alloc] initWithFormat:[feed objectForKey:@"long_name"]];
我得到這個錯誤:
WebKit discarded an uncaught exception in the webView:shouldInsertText:replacingDOMRange:givenAction: delegate: * -[NSPlaceholderString initWithFormat:locale:arguments:]: nil argument
我有兩個問題:我該如何解決這個問題?此外,如果存在多個同名的地點(即「Springfield」),則Google Geocoder可以返回多個地點,那麼我如何選擇要引用的密鑰? (比如哪個「long_name」,哪個「lat」等等......)
在此先感謝!
工作得很好,我唯一需要改變的地方是'結果'到'NSArray'對象,因爲顯然'NSDictionary'不響應'objectAtIndex:'。謝謝你的幫助! – 2012-02-24 00:31:27
糟糕 - 複製/粘貼錯誤。我在回覆中修正了它 – 2012-02-24 00:37:00