UserDefaults & Keychain
UserDefaults, Keychain Services, armazenamento seguro, dados sensíveis, melhores práticas
1O que é UserDefaults no iOS?
O que é UserDefaults no iOS?
Resposta
UserDefaults é um sistema de armazenamento simples para persistir dados não sensíveis como as preferências do usuário. Os dados são armazenados em formato plist no disco e facilmente acessíveis. No entanto, os dados não são criptografados, então informações sensíveis como senhas ou tokens de autenticação nunca devem ser armazenadas ali.
2O que é o Keychain Services no iOS?
O que é o Keychain Services no iOS?
Resposta
O Keychain Services é uma API de segurança que permite armazenar dados sensíveis de forma criptografada e segura. Ela usa o Secure Enclave em dispositivos modernos para proteger os dados. O Keychain é a abordagem recomendada para armazenar senhas, tokens, certificados e outras informações críticas para a segurança do aplicativo.
3Como acessar a instância padrão do UserDefaults?
Como acessar a instância padrão do UserDefaults?
Resposta
UserDefaults.standard é o método padrão para acessar a instância compartilhada padrão em todo o aplicativo. Essa instância persiste os dados no disco automaticamente. É possível criar instâncias nomeadas com init(suiteName:) para compartilhar dados entre um app e suas extensões via App Groups, mas UserDefaults.standard cobre a maioria dos casos de uso simples. Evite criar várias instâncias padrão, pois isso pode causar inconsistências de dados.
Quais tipos de dados o UserDefaults pode armazenar diretamente?
Quando é apropriado usar o UserDefaults em vez do Keychain?
+17 perguntas de entrevista
Outros temas de entrevista iOS
Fundamentos de Swift
Fundamentos da linguagem Swift
Fundamentos do UIKit
Ciclo de vida do UIViewController
Ciclo de vida do aplicativo
Auto Layout & Constraints
UITableView & UICollectionView
Fundamentos de SwiftUI
Gerenciamento de estado no SwiftUI
Navegação SwiftUI
Networking & URLSession
Codable e parsing JSON
Core Data
Programação orientada a protocolos
Arquitetura MVVM
Notificações Push
Testes unitários & XCTest
Testes de interface de usuário
Xcode e sistema de build
Swift Package Manager
Memory Management & ARC
Combine Framework
Concurrency & async/await
iOS Design Patterns
Otimização de desempenho
Segurança e criptografia
SwiftUI Advanced
Arquitetura de aplicativos iOS
Domine iOS para sua proxima entrevista
Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.
Comece gratis