plists - iOS разработка (NSString) - PullRequest
0 голосов
/ 28 августа 2011

Я создал список с именем "больницы", вставил первую строку в виде массива с тремя элементами в виде строк.

что не так с моим кодом:

NSArray *hospitals = [[NSArray alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Hospitals" ofType:@"plist"]];
    NSString *first = [[NSString alloc] initWithFormat:@"%@", [hospitals objectAtIndex:0]];
    NSLog(@"%@",first);

Это даетя (ноль) в результате!

Ответы [ 2 ]

1 голос
/ 28 августа 2011

Либо файл списка свойств не существует (проверьте фазу сборки «Копировать ресурсы» вашей цели), имеет другое имя (обратите внимание, что файловая система iOS чувствительна к регистру), вообще не является списком свойств(возможно, имеет синтаксическую ошибку), не читается или корень списка свойств не массив, а словарь.

Если hospitals == nil проблема связана с любым из вышеперечисленных.

0 голосов
/ 28 августа 2011

Попробуйте это:

NSString *errorDesc = nil;
NSPropertyListFormat format;
NSData *plistXML = [[NSFileManager defaultManager] contentsAtPath:[[NSBundle mainBundle] pathForResource:@"Hospitals" ofType:@"plist"]];
NSMutableDictionary *properties = (NSMutableDictionary *)[NSPropertyListSerialization propertyListFromData:plistXML mutabilityOption:NSPropertyListMutableContainersAndLeaves format:&format errorDescription:&errorDesc];
NSArray *hospitals = (NSArray *)[properties valueForKey:@"names"]; 
NSString *first = [hospitals objectAtIndex:0];
NSLog(@"%@",first);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...