Произвольно выбрать массив из группы «включенных» массивов - PullRequest
0 голосов
/ 31 марта 2020

У меня есть набор из четырех массивов. У меня также есть возможность включить или отключить 3 из 4 массивов (один всегда включен).

Есть ли способ случайным образом решить, из какого массива извлекать значение (из массивов, указанных как включенные) ?

Изначально я стремился создать мастер-массив и просто добавить в него содержимое других включенных, но он оказался немного сложнее, чем ожидалось. Я подумал, что было бы проще просто случайным образом выбрать массив для извлечения одного значения, если оно «включено».

В настоящее время я извлекаю значение с помощью простого оператора, такого как

If ????? {
    return promptArrayA[desiredIndexA]

} else if { ?????
    return promptArrayB[desiredIndexB]

} else if { ?????
    return promptArrayC[desiredIndexC]

} else { 
    return promptArrayD[desiredIndexD]

Я думаю, что если бы у меня был «randomizer», который выбрал один из включенных массивов, то я мог бы использовать это как ограничение в операторе If.

Я довольно новичок в Swift поэтому любая помощь очень ценится. Спасибо

1 Ответ

0 голосов
/ 31 марта 2020

Вы можете получить массив случайным образом, выполнив:

let enabledArrays = [promptArrayA, promptArrayB, promptArrayC, promptArrayD]
let randomIndex = Int.random(in: 0..<enabledArrays.count)
let randomArray = enabledArrays[randomIndex]
return randomArray[desiredIndex]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...