#arrays #xcode #view #swiftui
#массивы #xcode ( код x ) #Вид #свифтуи #xcode #swiftui
Вопрос:
Я хотел иметь пустой массив «View» в SwiftUI и заполнить его позже.
Когда я пишу это вот так:
@State var pages: [View]
XCode кричит на меня этим:
Protocol 'View' can only be used as a generic constraint because it has Self or associated type requirements
Ответ №1:
Я бы настоятельно не рекомендовал этого делать, но если вам нравится, тогда есть два возможных варианта
- либо объявить как удаление типа представления
@State var pages = [AnyView]()
- или ваш конкретный конкретный тип страницы, давайте предположим, что это
PageView
@State var pages = [PageView]()
Комментарии:
1. для опции 1 я получаю эту ошибку, когда хочу заполнить переменную pages: не удается преобразовать значение типа ‘YourView.page1. Введите массив «ожидаемый тип элемента»<AnyView>. ArrayLiteralElement’ (он же ‘AnyView’)
2. Вариант 2 тоже невозможен, я хочу использовать точный вид, полную страницу для этого
3. Для чего нужен AnyView… hackingwithswift.com/quick-start/swiftui /…
4. Ага! Я должен передать свой окончательный вид в AnyView!