web-dev-qa-db-fra.com

Afficher une vue vide dans SwiftUI

Dans SwiftUI, il est souvent nécessaire d'afficher une vue "vide" en fonction de certaines conditions, par exemple:

struct OptionalText: View {
  let text: String?

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

    return Text(text) 
  }
}

Malheureusement, cela ne compile pas puisque le corps de guard doit renvoyer une vue, c'est-à-dire une vue "vide" lorsque text est nil. Comment cet exemple doit-il être réécrit pour qu'il compile et affiche une vue "vide" lorsque text vaut nil?

3
Max Desiatov

Depuis Xcode 12 beta 2, la vue Group n'est plus nécessaire et if let les déclarations sont prises en charge, donc le résultat body peut être un peu plus succinct:

var body: some View {
    if let text = text {
        Text(text)
    } else {
        EmptyView()
    }
}
0
Max Desiatov