Ejercicios parte II
Ejercicios de arquitecturas iOS, parte II
Tenemos la aplicación para consultar el tiempo que ya usamos en el módulo de tecnologías de desarrollo y queremos cambiarla para que en lugar de usar MVC use MVVM.
IMPORTANTE: Abre el
.xcworkspace
, no el.xcodeproj
como habitualmente. Tras abrirlo deberías ver dos proyectos: el principalEltiempo
y otro "secundario"Pods
con las librerías necesarias. Haz unbuild
del proyecto antes de empezar a trabajar con él, para que se compile la librería Bond y las otras dependencias.
Carpetas para los fuentes
Lo primero será crear las "carpetas" necesarias para los fuentes (o groups como se llaman en Xcode)
Crea un group llamado
Vista
(File > New group...
) y mueve a él la claseViewController
, ya que en MVVM elViewController
es parte de la vista.Crear otro group llamado
ViewModel
y en él crear un archivoTiempoViewModel
con una clase del mismo nombre vacía por el momento
Ensamblaje de vista, modelo y viewmodel (1 punto)
En la clase de la vista (el ViewController
) añadir una propiedad que represente al viewmodel
En el TiempoViewModel
añadir una propiedad que represente al modelo
Mostrar la descripción del tiempo (4 puntos)
En este apartado conseguiremos que al pulsar en el botón "consultar tiempo" la descripción en modo texto (p.ej. "sol") aparezca en la pantalla del dispositivo.
En el TiempoViewModel
Añade un
import Bond
Crear un
observable
de tipoString
llamadoestado
, con valor inicial la cadena vacía (mira la sintaxis en transparencias/apuntes)Crea un método
consultarTiempo
que admita como parámetro unString
con el nombre de la localidad a consultar
Ahora en la vista
en el método consultarTiempoPulsado sustituir la llamada al modelo por
en el
viewDidLoad()
vincular la propiedadestado
delviewModel
al texto de la etiquetaestadoLabel
Mostrar el icono del tiempo (3 puntos)
Haz lo mismo para el icono del tiempo, solo que será más complicado ya que vinculamos un String con un icono (
UIImage
)
Last updated
Was this helpful?