Невозможно загрузить plist в NSArray - PullRequest
1 голос
/ 03 января 2012

Я пытаюсь загрузить следующий список в NSArray:

enter image description here

Вот код, который я использую для загрузки данных:

// Load the data from the plist file
NSString *filepath = [[NSBundle mainBundle] pathForResource:@"MyData" ofType:@"plist"];
NSArray *myArray = [[NSArray alloc] initWithContentsOfFile:filepath];

Однако, когда я ставлю точку останова после загрузки данных, я замечаю, что массив пуст.Пожалуйста, кто-нибудь может помочь мне понять, что происходит не так?

Ответы [ 3 ]

5 голосов
/ 03 января 2012

Не могли бы вы попытаться загрузить его в NSDictionary и запросить [ objectForKey:@"Root"] внутри него?

Насколько я помню, списки свойств являются картами ключ / значение, а ваш массив является лишь одним из этих значений.

2 голосов
/ 03 января 2012

В вашем файле plist есть словарь, содержащий массив.Попробуйте это

NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:filePath];
NSArray *array = [[NSArray alloc]initWithArray:[dict objectForKey:@"Root"]];
1 голос
/ 07 декабря 2013
NSString *path = [[NSBundle mainBundle] bundlePath];
NSString *finalPath = [path stringByAppendingPathComponent:@"name.plist"];
NSArray *plistData = [NSArray arrayWithContentsOfFile:finalPath];
...