добавить все объекты с одним и тем же ключом из NSDictionary в NSArray - PullRequest
1 голос
/ 07 мая 2011
NSArray *myArray=[[NSUserDefaults standardUserDefaults] objectForKey:@"userInfo"];

    for(NSDictionary *d in myArray){

        newInfo=[d valueForKey:@"screen_name"];

        NSLog(@"%@", newInfo);      

        listOfTerms=[[NSMutableArray alloc]initWithObjects:newInfo, nil];


        NSLog(@"here   %@", listOfTerms);           
    }

выше вы можете видеть код, который я использую, но в listOfTerms всегда есть только одна запись, которая кажется последним объектом в словаре. Я пытался разобраться в этом уже несколько часов. любая помощь будет оценена.

Ответы [ 2 ]

2 голосов
/ 08 мая 2011

Используя Кодирование значения ключа , весь код можно заменить следующим образом:

NSArray *myArray=[[NSUserDefaults standardUserDefaults] objectForKey:@"userInfo"];
NSArray *listOfTerms = [myArray valueForKey:@"screen_name"];

Знайте основу, используйте ее в своих интересах.

1 голос
/ 07 мая 2011

Вы перезаписываете listOfTerms на каждой итерации, попробуйте вместо этого:

listOfTerms = [[NSMutableArray alloc] init];

NSArray *myArray=[[NSUserDefaults standardUserDefaults] objectForKey:@"userInfo"];

for(NSDictionary *d in myArray){

    newInfo=[d valueForKey:@"screen_name"];

    NSLog(@"%@", newInfo);      

    [listOfTerms addObject:newInfo];

    NSLog(@"here   %@", listOfTerms);           
}
...