Необязательное закрытие @ViewBuilderIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Необязательное закрытие @ViewBuilder

Сообщение Anonymous »

Возможно ли в SwiftUI иметь дополнительное закрытие @ViewBuilder? Например, предположим, что я хочу разработать собственное представление, которое использует два замыкания построителя представлений, например:

Код: Выделить всё

import SwiftUI

struct TopAndBottomView: View where Content: View {
let topContent: () -> Content
let bottomContent: () -> Content

init(@ViewBuilder topContent: @escaping () -> Content, @ViewBuilder bottomContent: @escaping () -> Content) {
self.topContent = topContent
self.bottomContent = bottomContent
}

var body: some View {
VStack {
topContent()
Spacer()
bottomContent()
}
}
}

struct TopAndBottomView_Previews: PreviewProvider {
static var previews: some View {
TopAndBottomView(topContent: {
Text("TOP")
}, bottomContent: {
Text("BOTTOM")
})
}
}
Но я бы хотел, чтобы вид снизу был необязательным. Я пробовал:

Код: Выделить всё

struct TopAndBottomView: View where Content: View {
let topContent: () -> Content
let bottomContent: (() -> Content)?

init(@ViewBuilder topContent: @escaping () -> Content, @ViewBuilder bottomContent: (() -> Content)? = nil) {
self.topContent = topContent
self.bottomContent = bottomContent
}

var body: some View {
VStack {
topContent()
Spacer()
if bottomContent != nil {
bottomContent!()
}
}
}
}
но я получаю эту ошибку:


Атрибут построителя функций «ViewBuilder» может применяться только к
параметру типа функции.


Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/606 ... er-closure
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Необязательное закрытие @ViewBuilder
    Anonymous » » в форуме IOS
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Необязательное закрытие @ViewBuilder
    Anonymous » » в форуме IOS
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Mapstruct Необязательное в Необязательное
    Anonymous » » в форуме JAVA
    0 Ответы
    86 Просмотры
    Последнее сообщение Anonymous
  • Необязательное (открывающее) скобку, но тогда закрытие скобки должно быть обязательным
    Anonymous » » в форуме Php
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • SwiftUI. Как фильтровать дочерние элементы ViewBuilder?
    Anonymous » » в форуме IOS
    0 Ответы
    35 Просмотры
    Последнее сообщение Anonymous

Вернуться в «IOS»