Отображение пустого представления в SwiftUI - PullRequest
1 голос
/ 02 апреля 2020

В SwiftUI часто возникает необходимость отображать «пустое» представление в зависимости от некоторых условий, например:

struct OptionalText: View {
  let text: String?

  var body: some View {
    guard let text = text else { return }

    return Text(text) 
  }
}

К сожалению, это не компилируется, так как тело guard должно вернуть некоторое view, это «пустой» вид, когда text равен nil. Как следует переписать этот пример, чтобы он компилировал и отображал «пустое» представление, когда text равно nil?

1 Ответ

3 голосов
/ 02 апреля 2020

Вы должны что-то вернуть. Если есть какое-то условие, когда вы хотите ничего не отображать, «отобразите» ... EmptyView;)

var body: some View {
    Group {
        if text != nil {
            Text(text!)
        } else {
            EmptyView()
        }
    }
}

SwiftUI DSL потребует от вас заключить if / else в Group и DSL не имеет охраны / если разрешить номенклатуру.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...