UserDefaults & Keychain
UserDefaults, Keychain Services, archiviazione sicura, dati sensibili, best practice
1Cos'è UserDefaults in iOS?
Cos'è UserDefaults in iOS?
Risposta
UserDefaults è un semplice sistema di archiviazione per persistere dati non sensibili come le preferenze dell'utente. I dati vengono memorizzati in formato plist su disco e sono facilmente accessibili. Tuttavia, i dati non sono cifrati, quindi informazioni sensibili come password o token di autenticazione non dovrebbero mai essere memorizzate lì.
2Cos'è Keychain Services in iOS?
Cos'è Keychain Services in iOS?
Risposta
Keychain Services è un'API di sicurezza che consente di memorizzare dati sensibili in modo cifrato e sicuro. Utilizza il Secure Enclave sui dispositivi moderni per proteggere i dati. Keychain è l'approccio consigliato per memorizzare password, token, certificati e altre informazioni critiche per la sicurezza dell'applicazione.
3Come accedere all'istanza standard di UserDefaults?
Come accedere all'istanza standard di UserDefaults?
Risposta
UserDefaults.standard è il metodo standard per accedere all'istanza condivisa predefinita in tutta l'applicazione. Questa istanza persiste automaticamente i dati su disco. È possibile creare istanze denominate con init(suiteName:) per condividere dati tra un'app e le sue estensioni tramite App Groups, ma UserDefaults.standard copre la maggior parte dei casi d'uso semplici. Evita di creare più istanze standard poiché può causare incoerenze nei dati.
Quali tipi di dati UserDefaults può memorizzare direttamente?
Quando è appropriato usare UserDefaults invece di Keychain?
+17 domande da colloquio
Altri argomenti di colloquio iOS
Fondamenti di Swift
Fondamenti del linguaggio Swift
Fondamenti di UIKit
Ciclo di vita di UIViewController
Ciclo di vita dell'applicazione
Auto Layout & Constraints
UITableView & UICollectionView
Fondamenti di SwiftUI
Gestione dello stato in SwiftUI
Navigazione SwiftUI
Networking & URLSession
Codable e parsing JSON
Core Data
Programmazione orientata ai protocolli
Architettura MVVM
Notifiche Push
Test unitari & XCTest
Test dell'interfaccia utente
Xcode e sistema di build
Swift Package Manager
Memory Management & ARC
Combine Framework
Concurrency & async/await
iOS Design Patterns
Ottimizzazione delle prestazioni
Sicurezza e crittografia
SwiftUI Advanced
Architettura delle applicazioni iOS
Padroneggia iOS per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis