2014-02-26 69 views
1

我使用JSON初始化下面的NSArray;從JSON迭代一個NSArray填充

categorias = [NSJSONSerialization JSONObjectWithData:data options:nil error:nil]; 

我可以檢索對象的數量數組記錄它:

NSLog(@"NUMERO DE EMPRESAS = %lu", (unsigned long)[categorias count]); 

對象的預期數量爲24,該日誌是正確的。

NUMERO DE EMPRESAS = 24 

現在,我需要的是遍歷24個對象,並顯示出關鍵「latitud」的值

for (int i=0; i<[categorias count]; i++) { 
    NSString *lalitudText = x; 
    NSLog (@"EL VALOR ES %@", latitudText); 
} 

我應該怎麼放,而不是X,獲得價值?

回答

2

使用舊的語法,你可以把這個:

NSString *lalitudText = [[categorias objectAtIndex:i] objectForKey:@"latitude"]; 

新的語法允許你這樣做:

NSString *lalitudText = categorias[i][@"latitude"]; 
+0

categorias [I];導致與舊版本的SDK編譯器有些問題,但從6.x工作正常:)。 objectAtIndex是Obj-C風格:P – 2014-02-26 19:48:16

+0

謝謝,但這顯示了索引i處對象的全部內容,我只需要一個關鍵字的緯度,緯度。 – mvasco

+0

@mvasco只回復一次...看到上面的解決方案:) – 2014-02-26 19:54:16

1

使用fast enumeration

for (NSDictionary *element in categorias) { 
    NSLog (@"EL VALOR ES %@", element[@"lalitud"]); 
} 

當然,你必須調整「lalitud」thingy的關鍵。

+0

謝謝,但是這顯示了索引i處的對象的全部內容,我只需要一個鍵的內容,即緯度。 - – mvasco

1

使用:

NSString *lalitudText = [categorias objectAtIndex:i]; 
+0

謝謝,但是這顯示了索引i處的對象的全部內容,我只需要一個關鍵字的緯度,緯度。 - – mvasco

+0

[categorias objectAtIndex:i];在索引處返回Object。你可以在這個對象中找到另外一些對象。 – 2014-02-26 19:59:06