0からtopOfRangeまでの乱数を生成しています。このコードでfirstNumberToExcludeを除外できます:
NSInteger aRandom;
while ((aRandom = arc4random()%topOfRange) == firstNumberToExclude);
除外する2つの数値(firstNumberToExcludeとsecondNumberToExclude)がある場合はどうでしょうか。これは私の計画でしたが、適切ではないようです。
NSInteger aRandom = arc4random()%topOfRange;
while (aRandom == firstNumberToExclude || aRandom == secondNumberToExclude)
{
aRandom = arc4random()%topOfRange;
}