¿Cómo puedo usar UserDefaults para guardar / recuperar cadenas, valores booleanos y otros datos en Swift?
ios
swift
nsuserdefaults
userdefaults
Mithun Ravindran
fuente
fuente
Respuestas:
ref: NSUserdefault objectTypes
Swift 3 y superior
Tienda
Recuperar
Eliminar
Quitar todas las claves
Swift 2 y menos
Tienda
Recuperar
Eliminar
Registrarse
por ejemplo, detectar la aplicación desde el lanzamiento, crear la estructura para guardar el lanzamiento
Registre los valores predeterminados al iniciar la aplicación:
eliminar el valor en la terminación de la aplicación:
y verifique la condición como
Nombre de la suite de valores predeterminados de usuario
otro nombre de conjunto de propiedades , principalmente se usa para el concepto de Grupos de aplicaciones , el escenario de ejemplo que tomé de aquí :
uso de la sincronización de valores predeterminados de usuario , la información detallada se ha agregado en la respuesta duplicada.
fuente
La mejor forma de utilizar UserDefaults
Pasos
Muestra
enumeración para las claves utilizadas para almacenar datos
Guarda en UserDefaults donde quieras
Recupere datos en cualquier lugar de la aplicación
Eliminar valores
De esta forma, puede almacenar datos primitivos de la mejor manera
Actualización No es necesario utilizar sincronizar () para almacenar los valores. Como @Moritz señaló que es innecesario y dio el artículo al respecto.Consulte los comentarios para obtener más detalles.
fuente
synchronize()
, se explica en la documentación. No solo es inútil aquí, sino que podría ralentizar el acceso predeterminado.Rápido 4 :
Tienda
Recuperar
Eliminar
fuente
fuente
Puedes usarlo
NSUserDefaults
rápidamente de esta manera,fuente
synchronize()
comando paraNSUserDefaults
asegurarse de que sus cosas se guarden después de hacer un bloque de cambios. Esto podría haber sido más necesario en iOS 7 y versiones anteriores, pero en iOS 8 y posteriores, no debería llamar a syncize () en la mayoría de las situaciones. Consulte esto para obtener más información: codingexplorer.com/nsuserdefaults-a-swift-introductionSwift 5 y superior:
:)
fuente
Guardé NSDictionary normalmente y pude obtenerlo correctamente.
// Para obtener datos de NSDictionary.
fuente
fuente
UserDefault + Helper.swift
Uso:
Ahorre valor:
Obtener valor:
Eliminar valor:
fuente
Diría que la respuesta de Anbu está perfectamente bien, pero tuve que agregar guardia mientras buscaba las preferencias para que mi programa no fallara
Aquí está el fragmento de código actualizado en Swift 5
fuente
En clase
A
, establezca el valor de la clave:En clase
B
, obtenga el valor para el texto usando la clave que declaró en claseA
y asígnelo a la variable respectiva que necesita:fuente
Swift 4, he usado Enum para manejar UserDefaults.
Este es solo un código de muestra. Puede personalizarlo según sus requisitos.
Para almacenar, recuperar, quitar. De esta manera, simplemente agregue una clave para su clave UserDefaults a la enumeración. Maneje los valores mientras obtiene y almacena según el tipo de datos y sus requisitos.
Para almacenar un valor en los valores predeterminados del usuario,
Para recuperar un valor de los valores predeterminados del usuario,
fuente