2013-02-19 2 views
1

у меня есть некоторые данные в формате JSON, который выглядит следующим образом:Создание NSArray из данных JSON

{"YrMonth":201109,"StrYrMonth":"Sep-2011","Value":"49275.14"} 
{"YrMonth":201110,"StrYrMonth":"Oct-2011","Value":"52087.22"} 
etc... 

Использование NSJSONSerialization я сохранил эти данные в массиве с именем «индикатор». Когда я хочу использовать эти данные и отображать только элементы с ключом «Value» в Tableview, я могу сделать это хорошо с:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MainCell"]; 

    cell.textLabel.text = [[indicator objectAtIndex:indexPath.row] objectForKey:@"Value"]; 
    return cell; 
} 

Мой вопрос: как я могу создать массив, я могу использовать за пределами cellForRowAtIndexPath со значениями для каждого ключа? Например:

An array for key "StrYrMonth" which contains only: "Sep-2011", "Oct-2011", etc... 
An array for key "Value" which contains only: "49275.14", "52087.22", etc... 

Что бы я в конечном счете, хотел бы сделать, это использовать «значение» массив для построения линии в CorePlot и «StrYrMonth» массив для определения дЕха-меток осей на графике.

Заранее благодарим за вашу помощь!

ответ

3

Вы можете использовать Coding Key-Value и [NSArray valueForKey:] метод (reference)

NSArray *strYrMonthArray = [indicator valueForKey:@"StrYrMonth"]; 
NSArray *valueArray = [indicator valueForKey:@"Value"]; 
+0

+1 для быстрого и хорошего ответа. – Dilip

+0

Спасибо! Я знал, что ответ будет простым! –

Смежные вопросы