Когда я использовал NSArray, это было легко:
NSArray *array = ...
lastIndex = INT_MAX;
...
int randomIndex;
do {
randomIndex = RANDOM_INT(0, [array count] - 1);
} while (randomIndex == lastIndex);
NSLog(@"%@", [array objectAtIndex:randomIndex]);
lastIndex = randomIndex;
Мне нужно следить за последним индексом, потому что я хочу ощущения случайности. То есть я не хочу получать один и тот же элемент дважды подряд. Так что это не должно быть «истинной» случайностью.
Из того, что я могу сказать, NSDictionary не имеет что-то вроде -objectAtIndex :. Итак, как мне это сделать?