我是Objective-C的新手,我試圖創建一個簡單的字典樣式的應用程序供個人使用。現在我試圖做一個循環,打印隨機選擇的NSArray
s已被添加到NSDictionary
。我想只打印一次每個數組。這裏是我正在使用的代碼:如何在循環中排除先前隨機選擇的NSArrays
NSArray *catList = [NSArray arrayWithObjects:@"Lion", @"Snow Leopard", @"Cheetah", nil];
NSArray *dogList = [NSArray arrayWithObjects:@"Dachshund", @"Pitt Bull", @"Pug", nil];
...
NSMutableDictionary *wordDictionary = [[NSMutableDictionary alloc] init];
[wordDictionary setObject: catList forKey:@"Cats"];
[wordDictionary setObject: dogList forKey:@"Dogs"];
...
NSInteger keyCount = [[wordDictionary allKeys] count];
NSInteger randomKeyIndex = arc4random() % keyCount;
int i = keyCount;
for (i=i; i>0; i--) {
NSString *randomKey = [[wordDictionary allKeys] objectAtIndex:randomKeyIndex];
NSMutableArray *randomlySelectedArray = [wordDictionary objectForKey:randomKey];
NSLog(@"%@", randomlySelectedArray);
}
此代碼打印相同的數組「i」次。關於如何排除先前打印的數組再次被打印的指針?
我在想如果removeObjectForKey:
可以有任何用處。
是'removeObjectForKey'你合適嗎?這將從字典中移除數組。 – sch 2012-02-22 16:25:07
我認爲removeObjectForKey,但不知道如何在循環中實現它! – 2012-02-22 16:36:47