The root object is an array, not a dictionary.
NSArray * pollData = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"pollData" ofType:@"plist"]];
The object at index 0 in that array is a dictionary, as is the object inside that which is keyed to @"choices"
.
NSDictionary * choices = [[pollData objectAtIndex:0] objectForKey:@"choices"];
Objects that are unserialized from plists are never mutable. If you want a mutable dictionary, you need to make a mutable copy.