martes, 2 de mayo de 2017

Guardar datos permanentemente con User Defaults In xCode 8 (Swift 3.0)



Iniciamos el proyecto eligiendo "single view Application" en nuestro entorno Xcode



Elegimos un campo de texto "TextField", un Label y un Button y los agregamos a nuestro storyboard


Abrimos ViewController.swift al lado de nuestro storyBoard y arrastramos junto con click los 3 elementos, label y textfield seleccionamos connection:Outlet

El botón seleccionamos connection:action, dentro de esta función agregamos el siguiente código

@IBAction func action(_ sender: Any)
    {
        output.text = input.text
        UserDefaults.standard.set(input.text, forKey: "myName")
        input.text = ""
    }

Esto permite que el texto que se ingrese en el textfield se despliegue en el Label al presionar el botón. Simplemente eso

Ahora agregamos al final de nuestro viewcontroller el siguiente código

override func viewDidAppear(_ animated: Bool)
    {
        if let x = UserDefaults.standard.object(forKey: "myName") as? String
        {
            output.text = x
        }
    }

Este nos dice que si "myName" como se había definido en la función del botón, ya ha sido ingresado, el output.text seguirá siendo el mismo, se define una variable x que captura el texto introducido anteriormente. UserDefaults (también NSUserdefault en swift2) es un método de persistencia de datos que permite mantener los datos introducidos después de cerrada la App, para mas información sobre este método puedes revisar los siguientes links.

apple.UserDefaults
apple.UserDefaults2


Al ejecutar nuestra aplicación deberá funcionar de manera correcta al introducir un nombre o texto, luego damos en Pausar el emulador y nuevamente lo corremos, el nombre introducido debe quedar almacenado en el Label.

0 comentarios:

Publicar un comentario