Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.2k views
in Technique[技术] by (71.8m points)

iphone - Insert few objects from an array in nsmutable dictionary

I am having an array of 30 Images i want to add only 15 images to nsmutable dictionary and which are to be added randomly

I am using the following code

for (m = 0; m < 20; m++)
{   
 rnd = arc4random_uniform(FrontsCards.count);       

 dic=[[NSMutableDictionary alloc]init];     
 [dic setObject:[NSNumber numberWithInt:rnd] forKey:@"Images"]; 
 NSLog(@"%@",dic);

}

here the problem is as for m=0 entry gets in dictionary ,for m=1 again an entry goes in dictionary replacing first one and at the end i get only the last value the desired output is all the 20 values can anybody help me out..
Thanks in advance...

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

You are using the SAME TAG "Images" for every number you set. Hence it gets replaced again and again

 dic=[[NSMutableDictionary alloc]init];     


for (m = 0; m < 20; m++)
{   
    rnd = arc4random_uniform(FrontsCards.count);       

    [dic setObject:[NSNumber numberWithInt:rnd] forKey:[NSString stringWithFormat:@"Images_%d",rnd]; 


}

 NSLog(@"%@",[dic description]);

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...