Estructuras vs Clases
Clase 22 de 46 • Curso de Swift 4 2018
Contenido del curso
Clase 22 de 46 • Curso de Swift 4 2018
Contenido del curso
Daniel Alejandro Contreras Suárez
Usuario anónimo
Manuel Alejandro Aguilar Téllez Girón
Manuel Alejandro Aguilar Téllez Girón
Wandy Rafael Santana Evangelista
Duwal Abel Varillas Castro
Miguel Gil Rosas
Excelente curso hasta el momento. Solo una observacion, la palabra es amount, no amounth
Si buena observación.
ces la diferencia entre CLASE y ESTRUCTURA está en la memoria, al modificar una estructura se crea una copia la cual es la que se modifica, al modificar una clase modificas las propiedades de sí misma.
En código se escriben igual la diferencia es la palabra reservada, el código es el de la clase
import Foundation struct CuentaUniversal { var nombreBanco: String = "" var saldoCuenta: Float = 0 } struct PersonaGeneral { var nombrePila: String var apellidoPersona: String var cuentaPersona: CuentaUniversal? } let cuenta = CuentaUniversal(nombreBanco: "Bancomer", saldoCuenta: 1_500_000) var manu = PersonaGeneral(nombrePila: "Manuel", apellidoPersona: "Aguilar", cuentaPersona: nil) manu.cuentaPersona = cuenta print(manu.cuentaPersona!)
Imprime esto:
CuentaUniversal(nombreBanco: "Bancomer", saldoCuenta: 1500000.0)
Entonces*
Para los que deseen eliminar la advertencia del 'optional', solo deben colocarle el signo de admiración a: 'print(me.account)'.
import Foundation struct Account { var amount: Float = 0 var name: String = "" } struct Person { var name: String var lastName: String var account: Account? } var me = Person(name: "Wandy", lastName: "Santana", account: nil) var account = Account(amount: 100_000, name: "Megandy Bank") me.account = account print(me.account!)
me perdi cuando llego a la linea 18 no entiendo porque los separa por un punto a las estructuras min 5:50
Hola.
Tienes una estructura llamada ‘Person’.
En la línea 14 se crea una instancia/variable de la estructura ‘Person’ que se llama ‘me’.
En la línea 18 al campo ‘account’ de la instancia ‘me’ (línea 11) se le asigna un valor (el que ese valor sea de tipo ‘Account’ y se llame ‘account’ es casualidad).
‘a.b’ significa el campo ‘b’ de la instancia/variable ‘a’.
Espero que te sirva de algo.