Swiftui, передавая представление в виде параметров в @ViewBuilderIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Swiftui, передавая представление в виде параметров в @ViewBuilder

Сообщение Anonymous »

Мое любопытство заставляет меня передать представление тип как параметр @ViewBuilder . Передача модели/примитивный тип как парамец в @viewbuilder совершенно действителен.
Как показано ниже код.

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

struct TestView: View {

let content: (String) -> Content

init(@ViewBuilder content: @escaping (String) -> Content) {
self.content = content
}

var body: some View {
content("Some text")
}
}

struct ContentTestView: View {

var body: some View {
TestView {
Text("\($0)")
}
}
}
вместо строки в

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

let content: (String) -> Content
Если я попытаюсь передать тип Swiftui , то компилятор недоволен этим.

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

let content: (View) -> Content
Несмотря на то, что параметры для @viewbuilder принимают пользовательский тип протокола, например, поиск , но не просмотр Protocol.
Компилятор Скажите мне, что этот протокол «представление» может использоваться только в качестве общего ограничения, поскольку он имеет требования к себе или связанный тип
Вся моя идея заключается в том, что контент Может быть разрешено удерживать раздел/список/текст в нем.

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

struct TestView: View {

let content: (View) -> Content

init(@ViewBuilder content: @escaping (View) -> Content) {
self.content = content
}

var body: some View {
content(
List {
ForEach(0.. _ in

Section(header: Text("Header goes here")) {
viewbody
}
}
}
}
В любом случае, могу ли я это достичь?

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • SwiftUI. Как фильтровать дочерние элементы ViewBuilder?
    Anonymous » » в форуме IOS
    0 Ответы
    35 Просмотры
    Последнее сообщение Anonymous
  • Swiftui: Передайте @published infing <navigationPath>, не передавая ссылку на экземпляр класса, который владеет исходным
    Anonymous » » в форуме IOS
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Swiftui: Передайте @published infing <navigationPath>, не передавая ссылку на экземпляр класса, который владеет исходным
    Anonymous » » в форуме IOS
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Необязательное закрытие @ViewBuilder
    Anonymous » » в форуме IOS
    0 Ответы
    64 Просмотры
    Последнее сообщение Anonymous
  • Необязательное закрытие @ViewBuilder
    Anonymous » » в форуме IOS
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous

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