Как создать пустой массив «View» в SwiftUI?

#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:

Я бы настоятельно не рекомендовал этого делать, но если вам нравится, тогда есть два возможных варианта

  1. либо объявить как удаление типа представления
 @State var pages = [AnyView]()
  
  1. или ваш конкретный конкретный тип страницы, давайте предположим, что это PageView
 @State var pages = [PageView]()
  

Комментарии:

1. для опции 1 я получаю эту ошибку, когда хочу заполнить переменную pages: не удается преобразовать значение типа ‘YourView.page1. Введите массив «ожидаемый тип элемента»<AnyView>. ArrayLiteralElement’ (он же ‘AnyView’)

2. Вариант 2 тоже невозможен, я хочу использовать точный вид, полную страницу для этого

3. Для чего нужен AnyView… hackingwithswift.com/quick-start/swiftui /…

4. Ага! Я должен передать свой окончательный вид в AnyView!