Stocker des données de façon permanente dans un iPhone est fait généralement à l'aide de Données de Base ou de sqlite3. La plupart des gens préfèrent utilisateur NSUserDefaults comme un espace de stockage pour les préférences de l'application, plutôt que de l'utiliser comme une base de données normale (comme sqlite).
J'ai trouvé que la grande quantité de données peuvent être stockées dans NSUserDefaults, il est extrêmement facile à utiliser et il est rapide. Alors pourquoi ne pas utiliser cela comme un stockage permanent? Quelles sont les limites de NSUserDefaults comme une base de données?
Mise à jour:
J'ai souvent utiliser de trois façons différentes d'enregistrer mes données sur le disque.
- Base de données
- La sérialisation des objets pour les plists
- NSUserDefaults
Je n'utilise pas FMDB (sqlite ou directement) plus. Quels sont les principaux avantages et inconvénients de chaque approche?
Certains avantages de NSUserDefaults que j'ai trouver:
- De tri, de regroupement, etc. peut facilement être fait en utilisant NSPredicate.
- NSUserDefaults est thread-safe.
- Il faut une ligne de récupérer et de sauvegarder les données de NSUserDefaults.