がある場合NSMutableArray
、要素をランダムにシャッフルするにはどうすればよいですか?
(私はこれについて私自身の回答があります。これは以下に掲載されていますが、私はCocoaを初めて使用するので、もっと良い方法があるかどうか知りたいです。)
更新:@Mukeshによって指摘されているように、iOS 10以降およびmacOS 10.12以降では、-[NSMutableArray shuffledArray]
シャッフルに使用できる方法があります。詳細については、https://developer.apple.com/documentation/foundation/nsarray/1640855-shuffledarray?language = objcを参照してください。(ただし、これにより、要素を所定の位置に入れ替えるのではなく、新しい配列が作成されることに注意してください。)
for (NSUInteger i = self.count; i > 1; i--) [self exchangeObjectAtIndex:i - 1 withObjectAtIndex:arc4random_uniform((u_int32_t)i)];
API
返すことArray
です。