SwiftUI Использует ли это синтаксис конечного закрытия при создании экземпляра структуры, соответствующего протоколу просмотра?

#swift #swiftui

Вопрос:

У меня возникли некоторые проблемы с пониманием того, как это может быть разрешено в Swift..

Оригинальный способ создания представления VStack будет выглядеть следующим образом:(вариант 1)

 VStack(alignment: .center, spacing: 20, content: {Text("d")})  

Но обычно мы поступаем так:(вариант 2)

 VStack(alignment: .center, spacing: 20) {  Text("d")  }  

Итак, здесь VStack(alignment: .center, spacing: 20, content: {Text("d")}) это экземпляр struct VStack, и при создании его экземпляра третий параметр принимает закрытие в качестве параметра.( () -gt; _ ).

  1. Но вот в том, что даже закрытие принимается в качестве параметра, мы можем использовать синтаксис закрытия в конце и использовать код, подобный option2?
  2. и я также вижу, как многие люди говорят: «взгляды-это функция их государства». Но как это может быть возможно? разве мы не возвращаем экземпляр структуры, соответствующий протоколу просмотра, используя непрозрачный тип возврата в вычисляемом свойстве, называемом телом, как показано ниже:

    представление содержимого структуры: Представление { var тело: некоторое представление { Текст(«d») } }

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

1. Это то же самое, только синтаксис сахарный — читайте книгу swift на developer.apple.com.