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;
ランダム感が欲しいので、lastIndex を追跡する必要があります。つまり、同じ要素を 2 回続けて取得したくありません。したがって、「真の」ランダム性であってはなりません。
私が知る限り、NSDictionary には -objectAtIndex: のようなものはありません。では、どうすればこれを達成できますか?