У меня 3 Animal Массивы:Определение, какой массив строка пришел из
let mammals = ["Dog", "Cat", "Bear"]
let fish = ["Clownfish", "Seahorse", "Scorpion Fish"]
let reptiles = ["Chameleon", "Snake", "Lizard"]
Кнопка генерирует животное случайным образом, а затем добавляет его в массив allAnimals. Я хотел бы иметь возможность определять массив WHICH, из которого произошла строка (животное).
Я пытался работать с
allAnimals.contains()
однако, явно принимает вар в качестве аргумента. Я могу сделать allAnimals.contains («Seahorse») просто отлично. Но мне нужно проверить все массивы.
Я также попытался выполнить итерацию по массиву.
for i in allAnimals {
if i.contains(mammals){ print("Came from the Mammal array") }
else if i.contains(fish){ print("Came from the Fish array") }
else if i.contains(reptiles){ print("Came from the Reptiles array") }
}
что бросил ошибку:
Cannot convert value of type '[String]' to expected argument type 'String'
Как я могу определить, какой массив случайная строка пришел?
Вы можете создать структуру для каждого типа, а затем проверить, какой тип она есть. Вы также можете создать перечисление для каждого типа, который принимает связанное значение. – JustinM
Большое спасибо за все предложения здесь, ребята. Решение @vadian работало отлично для меня, но мне очень полезно увидеть другие способы, которыми это могло быть достигнуто. – Joe