У меня есть приложение, в котором вам нужно воспроизвести несколько видеороликов по запросу, но я хотел бы, чтобы видео было случайным и не повторялось.Как я могу воспроизвести видео в случайном порядке, не повторяя
Мой текущий план состоит в том, чтобы сделать NSMutableDictionary, где ключ - это номер для видео, а значение - это просто базовая строка, чтобы сказать мне, было ли оно воспроизведено или нет. Затем, когда видео должно воспроизводиться, я бы случайно выбрал его и посмотрел, был ли он воспроизведен. Например:
int randomNumber;
randomNumber = (arc4random() % 150) + 1;
if ([[videoDictionary valueForKey:[NSString stringWithFormat:@"%d", randomNumber]] isEqual:@"Played"])
{
// This video has been played before. Make another random number and try again
} else {
// This video has not been played before. Set the dictionary value to 'Played' and play the video
}
Есть ли лучший способ сделать это? С более чем 100 видео это может стать немного глупым, когда 90% из них уже сыграны.
Ответ Anoop Vaidya, вероятно, является тем, что вы ищете. У меня лично будет массив видео, перетасуйте его, а затем просто пройдите прямо через массив (перетасовывая снова, когда вы дойдете до конца). Только мои два цента. – jonhopkins
@jonhopkins: Даже ваш ответ хорош :) –