Я успешно реализовал PageView в SwiftUI через поток:
Как реализовать PageView в SwiftUI?
Передача в нескольких представлениях через массив работает как чудо, пока всепредставления имеют одинаковую структуру.
PageView([TestView(), TestView()])
.
Однако я бы хотел передать разные представления.
PageView([TestView(), AnotherView(), DifferentView()])
.
Все представления имеют тип SwiftUI:
struct NAME : View { code }
Когда я пытаюсь добавить различные структуры в массив, я получаю следующее сообщение об ошибке:
var pageViewViewArray = [TestView(), AnotherView(), DifferentView()]
Литерал гетерогенного набора может быть выведен только как '[Любой]';добавьте явную аннотацию типа, если это преднамеренно.
Вставьте 'как [Любой]
, приведя его к:
var pageViewViewArray = [TestView(), AnotherView(), DifferentView()] as! [Any]
PageView(pageViewViewArray)
PageView скажет:
Тип протокола «Любой» не может соответствовать «Представлению», поскольку только конкретные типы могут соответствовать протоколам
Я буду очень признателен за любые идеи.