2014-01-14 4 views
-1

Как извлечь «выбор» из первого «Item 0» в массив? enter image description hereКак извлечь массив из этого словаря plist?

На данный момент печать массива дает null.

NSDictionary *dataDictionary = [NSDictionary dictionaryWithContentsOfFile: [[NSBundle mainBundle] pathForResource:@"pollData" ofType:@"plist"]]; 

    NSMutableArray *arrayOfChoices = [[dataDictionary objectForKey:@"Item 0"] objectForKey:@"choices"]; 
    self.dataArray = arrayOfChoices; 

    NSLog(@"array: %@", self.dataArray); 
+1

Ну, во-первых, это не массив. И что еще более важно, 'dataDictionary' - не словарь; корневым объектом является массив. –

+0

извините, я упустил это. но я изменил его на массив, и он все еще не работает. – jsky

+0

Изменено как массив? –

ответ

3

Корневой объект представляет собой массив, а не словарь.

NSArray * pollData = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"pollData" ofType:@"plist"]]; 

Объект с индексом 0 в этом массиве представляет собой словарь, как объект внутри той, которая сконструированы так, чтобы @"choices".

NSDictionary * choices = [[pollData objectAtIndex:0] objectForKey:@"choices"]; 

Объекты, которые неэтериализованы из пластин, никогда не изменяются. Если вам нужен изменяемый словарь, вам нужно сделать изменяемую копию.

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