Utilisez NSUserDefaults: - Notez que ceci est pour de petites quantités de données, telles que le niveau actuel que vous avez mentionné. Ne pas en abuser et l'utiliser comme une base de données volumineuse, car elle est chargée en mémoire à chaque fois que vous ouvrez votre application, que vous ayez besoin de quelque chose ou non (d'autres parties de votre application l'utiliseront également).
Objective-C:
Lecture:
NSUserDefaults *preferences = [NSUserDefaults standardUserDefaults];
NSString *currentLevelKey = @"currentlevel";
if ([preferences objectForKey:currentLevelKey] == nil)
{
// N'existe pas.
}
else
{
// Obtenez le niveau actuel
const NSInteger currentLevel = [preferences integerForKey:currentLevelKey];
}
Écriture:
NSUserDefaults *preferences = [NSUserDefaults standardUserDefaults];
NSString *currentLevelKey = @"currentlevel";
const NSInteger currentLevel = ...;
[preferences setInteger:currentLevel forKey:currentLevelKey];
// Enregistrer sur le disque
const BOOL didSave = [preferences synchronize];
if (!didSave)
{
// Impossible d'enregistrer (je n'ai jamais vu cela se produire dans des tests en monde réel)
}
.
Swift:
Lecture:
let preferences = NSUserDefaults.standardUserDefaults()
let currentLevelKey = "currentLevel"
if preferences.objectForKey(currentLevelKey) == nil {
// N'existe pas
} else {
let currentLevel = preferences.integerForKey(currentLevelKey)
}
Écriture:
let preferences = NSUserDefaults.standardUserDefaults()
let currentLevelKey = "currentLevel"
let currentLevel = ...
preferences.setInteger(currentLevel, forKey: currentLevelKey)
// Enregistrer sur le disque
let didSave = preferences.synchronize()
if !didSave {
// Impossible d'enregistrer (je n'ai jamais vu cela se produire dans des tests en monde réel)
}