Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
iOSGUI
Swift en acción (Closure)// Podemos mandar como parámetro una función
let datos = [1, 7, 2, 9, 15, 13, 8]
print(datos)
func comparar(_ a: Int, _ b: Int) -> Bool{ return a > b}
let ordenados = datos.sorted(by: comparar)
print(ordenados)
[1, 7, 2, 9, 15, 13, 8]
[15, 13, 9, 8, 7, 2, 1]
Swift en acción// Podemos mandar LA FUNCION (closure) como parámetro
let ordenados = datos.sorted(by: { (a: Int, b: Int) -> Bool in return a > b})
// La inferencia de tipos, permite quitar el tipo de a y b
let ordenados = datos.sorted(by: { (a, b) -> Bool in return a > b})
// Por la misma razón, podemos quitar el tipo de regreso
let ordenados = datos.sorted(by: { (a, b) in return a > b})
Swift en acción// Podemos quitar los paréntesis que definen los parámetros // y escribir todo en la misma línea
let ordenados = datos.sorted(by: { a, b in return a > b })
// Si la función regresa algo, no es necesario indicarlo let ordenados = datos.sorted(by: { a, b in a > b })
// Pero, los parámetros también se pueden inferir let ordenados = datos.sorted(by: { $0 > $1 })
// El operador > compara dos Int, entonces lo usamos. 😂 let ordenados = datos.sorted(by: >)
UIStackView
• Es un componente que permite arreglar vistas de manera lineal.
• Horizontal. Un renglón de vistas.
• Vertical. Una columna de vistas.
Ejercicio• Escribe una aplicación
para resolver ecuaciones de segundo grado.
Vista• Crea el proyecto y configura la siguiente GUI.
Modelo• Crea el modelo especificado con este diagrama de
clase.
Controlador• Crea outlets para los campos de los coeficientes.
• Crea un action (calcularRaices) para el botón Resolver.
• Crea outlets para los campos de las raíces.
• Escribe la lógica necesaria para resolver la ecuación.
Prueba• Corre la aplicación y verifica el funcionamiento.
• No olvides:
• Limitar el teclado a números enteros.
• Verificar errores.
• Si el coeficiente es cero, mostrar una alerta indicando el problema.
Mostrando alertasPara mostrar una alerta:
• Crea un UIAlertController. • Agrega los botones del tipo adecuado.
✦ Crea el botón. ✦ Agrégalo a la alerta.
• Muestra la alerta.
Ejercicio extra
• Generar la siguiente GUI:
Navegación modal• Puedes lanzar una nueva pantalla conectando un
botón hacia el nuevo controlador. Esto crea un Segue y la transición es automática.
¿Cómo regresar?• Crea un punto de regreso en el primer controlador:
• @IBAction func regresar(segue: UIStoryboardSegue)
• Conecta un botón en el segundo controlador hacia el icono Exit y selecciona el método del primer controlador.
Navegación• Modal.
• Segue.
• Jerárquica.
• UINavigationController.
• Directa.
• UITabBarController.