Если вы хотите циклически перебирать свой список «на первый взгляд» и избегать повторения какого-либо элемента ... используйте arc4random (), и после того, как каждый элемент был просмотрен, удалите его из списка.Когда список иссякнет, перезагрузите его.
Пример:
if (!self.dictionaryValues) {
[self loadList];
} else {
NSMutableDictionary *unusedValueList = [[NSMutableDictionary alloc] initWithDictionary:self.dictionaryValues];
int random = arc4random()%[self.dictionaryValues count]; // note, crashes on nil;
int i=0;
for (NSString *key in self.dictionaryValues) {
i++;
if (i == random) {
NSLog(@"MATCH! on key=%@", key);
[unusedValueList removeObjectForKey:key];
}
}
self.dictionaryValues = nil;
self.dictionaryValues = unusedValueList;
}
надеюсь, это поможет!