2012-06-11 7 views
1

У меня есть файл plist, который содержит 6 элементов.NSDictionary + NSArray + plist

enter image description here

, когда я загрузить его в массив и показать его в виде таблицы, это не сортируется, как выше и выглядит следующим образом:

enter image description here

это код, я м с помощью:

NSString* plistPath = [[NSBundle mainBundle] pathForResource:@"ghazal2" ofType:@"plist"]; 
myDictionary = [[NSDictionary alloc] initWithContentsOfFile:plistPath]; 
myArray = [myDictionary allKeys]; 

это еще НЕСОРТИРОВАННАЯ Whe я использую allValues

как я могу исправить это?

ответ

0

вот решение:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    if (!myArray2) // myArray2 is NSMutableArray 
    { 
     myArray2 = [[NSMutableArray alloc] init]; 
    } 

    NSString *path = [[NSBundle mainBundle] pathForResource:@"list" ofType:@"plist"]; 
    NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:path]; 

    NSArray *sortedArray = [[dict allKeys] sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)]; 

    for(NSString *key in sortedArray) 
    {  
     [myArray2 addObject:[dict objectForKey:key]]; 
    } 

    for(NSString *key in myArray2) 
    {  
     NSLog(@"it is: %@", key); 
    } 
} 
1

Из того, что я понимаю, NSDictionary (иронически) не заказывать элементы из списка свойств любого конкретного пути (в алфавитном порядке, numberical, значение индекса, и т.д.), вам 'd использовать NSArray, чтобы сохранить заказ с plist.

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

Plist Array to NSDictionary

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