2013-09-07 3 views
1

у меня есть этот Plist файлСоздание массива из Plist, содержащих массивы

enter image description here

мне нужно сделать массив, содержащий массивы в PLIST, поэтому массив должен иметь значения «цифры» & «цвета» ,

Я попробовал этот код, но не работает

- (NSString *) dataFilePath { 
    NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentDirectory = [path objectAtIndex:0]; 
    return [documentDirectory stringByAppendingPathComponent:@"groups.plist"]; 
} 

- (void) readPlist { 
    NSString *path = [self dataFilePath]; 
    NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:path]; 
    NSArray *tempArray = [dict objectForKey:@"Root"]; 
    NSLog(@"%@", tempArray); 
} 

вызова readPlist от ViewDidLoad метода

любая идея, как это сделать?

ответ

0

Вместо

NSArray *tempArray = [dict objectForKey:@"Root"]; 
NSLog(@"%@", tempArray); 

использования

NSArray *tempArray = [dict allKeys]; 
NSLog(@"%@", tempArray); 

Обратите внимание, что порядок элементов в массиве не определен, см the documentation из NSDictionary,

"Root" это просто ярлык от Xcode.

+0

Спасибо, человек, работал отлично :) – aLFaRSi

0

Убедитесь, что файл groups.plist существует в каталоге документов, а не в Каталоге Bundle.

Убедитесь, что dict не является нулем и на самом деле является объектом словаря, как вы ожидаете.

Вы попробовали [dict objectForKey:@"numbers"]?

+0

Это в моем Справочнике по документам – aLFaRSi

+0

Это будет массив из одного, двух и трех. Мне нужно создать массив, содержащий массивы в plist, поэтому массив будет «цветами» и «числами» – aLFaRSi

+0

Затем сделайте один ... – coneybeare

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