Como posso usar UserDefaults para salvar / recuperar strings, booleanos e outros dados em Swift?
ios
swift
nsuserdefaults
userdefaults
Mithun Ravindran
fonte
fonte
Respostas:
ref: NSUserdefault objectTypes
Swift 3 e superior
Loja
Recuperar
Remover
Remova todas as chaves
Swift 2 e inferior
Loja
Recuperar
Remover
Registro
por exemplo, detectar o aplicativo desde o lançamento, criar a estrutura para salvar o lançamento
Registre os valores padrão no lançamento do aplicativo:
remova o valor no encerramento do aplicativo:
e verifique a condição como
Nome do conjunto UserDefaults
outro nome de suíte de propriedades , principalmente usado para o conceito de grupos de aplicativos , o cenário de exemplo que tirei daqui :
uso de userDefaults synchronize , as informações detalhadas foram adicionadas na resposta duplicada.
fonte
Melhor maneira de usar UserDefaults
Passos
Amostra
enum para chaves usadas para armazenar dados
Salve em UserDefaults onde quiser
Recupere dados em qualquer lugar no aplicativo
Remover Valores
Desta forma, você pode armazenar dados primitivos na melhor
Atualizar Você não precisa usar synchronize () para armazenar os valores. Como @Moritz apontou que é desnecessário e deu o artigo sobre isso. Verifique os comentários para mais detalhes
fonte
synchronize()
, está explicado na documentação. Não só é inútil aqui, mas pode retardar o acesso padrão.Swift 4 :
Loja
Retrive
Remover
fonte
fonte
Você pode usar
NSUserDefaults
rapidamente desta forma,fonte
synchronize()
comando paraNSUserDefaults
garantir que seu material seja salvo após fazer um bloco de alterações. Isso pode ter sido mais necessário no iOS 7 e anteriores, mas no iOS 8 e posterior, você não deve chamar synchronize () na maioria das situações. Verifique isto para mais informações: codingexplorer.com/nsuserdefaults-a-swift-introductionSwift 5 e superior:
:)
fonte
Salvei o NSDictionary normalmente e consegui obtê-lo corretamente.
// Para obter dados de NSDictionary.
fonte
fonte
UserDefault + Helper.swift
Uso:
Salvar valor:
Buscar valor:
Excluir valor:
fonte
Eu diria que a resposta da Anbu está perfeitamente bem, mas tive que adicionar guarda enquanto buscava preferências para fazer meu programa não falhar
Aqui está o recorte de código atualizado no Swift 5
fonte
Na aula
A
, defina o valor da chave:Na classe
B
, obtenha o valor do texto usando a chave declarada na classeA
e atribua-o à respectiva variável de que você precisa:fonte
Swift 4, usei Enum para lidar com UserDefaults.
Este é apenas um código de amostra. Você pode personalizá-lo de acordo com seus requisitos.
Para armazenar, recuperar, remover. Desta forma, basta adicionar uma chave para sua chave UserDefaults ao enum. Manipule valores ao obter e armazenar de acordo com dataType e seus requisitos.
Para armazenar um valor nos padrões do usuário,
Para recuperar um valor dos padrões do usuário,
fonte