Os deseños da interface de usuario en SwiftUI se compón de varias vistas combinadas (botóns, campos de texto…).
As vistas decláranse como estruturas que se axustan ao protocolo View
.
Para cumprir co protocolo View
, requírese que a estrutura conteña unha propiedade body
onde se declarará a vista.
Así, na seguinte imaxe vemos a declaración da vista por defecto que crea Xcode (como veremos no seguinte punto do tema):
ContentView
: É o nome da estrutura que estamos creando. En SwiftUI vamos a empregar case sempre estruturas en lugar de clases. No tema «2.3 Orientación a obxectos en Swift» explico a diferencia entre clases e estruturasView
: É un protocolo (ver tema «2.3 Orientación a obxectos en Swift»)- A estrutura
ContentView
implementa o protocoloView
. - A implementación do protocolo
View
obriga a crear unha propiedade chamadabody
. - O tipo da propiedade
body
serásome View
(ver tipos de datos opacos –some
– no tema «2.3 Orientación a obxectos en Swift») , é dicir, calquera clase ou estrutura que implemente o protolocoView
- A estrutura
Así, a vista ContentView
é unha estrutura que cumpre o protocolo View
, e, polo tanto, ten unha propiedade chamada body
cuxo tipo é de calquera clase ou estrutura que implemente o protoloco View
.
A propiedade body
é unha propiedade calculada de só lectura (ver tema «2.3 Orientación a obxectos en Swift»)
- Ao ser de so lectura non podemos optimizar a súa declaración e omitir o
set
e oget
, directamente se implementa oget
sin declaralo. - Como so ten unha liña de código, non fai falta o
return
Así estes vemos dous xeitos de declarar a vista:
Vistas por defecto #
SwiftUl inclúe unha ampla gama de vistas integradas que se poden utilizar e que veremos no seguinte tema:
- Etiquetas de texto
- Botóns
- Campos de texto
- Menús
- Vistas de conmutación e de xestión de deseño.
- …
Ao crear unha aplicación con SwiftUl, empregaremos estas vistas para crear as nosas propias vistas personalizadas que, cando se combinan, constitúen a aparencia e o comportamento da nosa interface de usuario.