如何从这个plist字典中提取数组?

时间:2014-01-14 05:50:10

标签: ios arrays nsdictionary plist

如何从第一个'Item 0'中提取'选项'到数组中? enter image description here

目前,打印数组会给出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 个答案:

答案 0 :(得分:3)

根对象是一个数组,而不是字典。

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

该数组中索引0处的对象是一个字典,其中的对象是键入@"choices"的对象。

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

从plist中反序列化的对象永远不可变。如果你想要一个可变的字典,你需要制作一个可变的副本。