У меня есть два массива с разными типами (классами) и количеством предметов там.Когда я пытаюсь пройти через них, я зацикливаю столько раз, сколько элементов в меньшем массиве.Мне нужно, чтобы он проходил через оба, и, когда меньший кончается, больший продолжает зацикливаться.Надеюсь увидеть некоторые предложения.
Итак, у меня есть два массива:
var humanArray = [human, cook, manager, fighter, astronaut]
и:
let alienArray = [martian, twixian, snikersian]
Это разные классы:
let human = People(name: "John Dou", height: 180, weight: 80, gender: "male")
и:
let martian = Martian(numberOfLegs: 1, colorOfSkin: .red)
затем я перебираю их по кругу:
for (hum, al) in zip(humanArray, alienArray) {
print("""
\(hum.TypeName) \(hum.name),
\(hum.TypeName) \(hum.height),
\(hum.TypeName) \(hum.weight),
\(hum.TypeName) \(hum.gender),
\(al.TypeName) \(al.numberOfLegs),
\(al.TypeName) \(al.colorOfSkin)
""")
hum.say()
al.say()
}
Так, что я должен сделать, чтобы получить все 5 итераций?Или как сделать такую вещь (цикл по двум массивам) без "zip"?Без него у меня возникает ошибка: да, они игнорируются, но как это сделать без "zip"?У меня ошибка: «Тип» ([Люди], [Марсианин]) »не соответствует протоколу« Последовательность ».
Мой вопрос отличается от вопросов, которые задавались ранее, потому что у меня есть двамассивы с разным количеством элементов.И решения, представленные там, не подходят.