Hey Guys Je rencontre des problèmes avec NSUserDefaults et je ne comprends pas tout à fait ce qui se passeNSUserDefaults n'épargnent pas correctement
My App a 5 niveaux et chaque niveau fait la même chose avec NSUserDefaults (Récupère les valeurs par défaut des niveaux , change la valeur quand l'utilisateur joue le niveau puis règle les valeurs par défaut et se synchronise à la fin du niveau) les 4 premiers niveaux ... fonctionnent sans accroc mais le dernier niveau n'enregistre pas les valeurs. L'application ne plante pas et le dernier niveau n'est pas la dernière chose qui arrive, et j'ai même les paramètres par défaut synchronisés lorsque l'application se termine. Y at-il une taille maximale sur les NSUserDefaults ou est-il quelqu'un peut penser à quoi que ce soit que je ne l'ai pas, je vais poster le code ci-dessous, mais comme je l'ai dit les quatre premiers niveaux fonctionnent parfaitement
//header
NSUserDefaults *userData;
@property(nonatomic,retain) NSUserDefaults *userData;
//class file
//Sets the boolean variables for the class to use
userData = [NSUserDefaults standardUserDefaults];
boolOne = [userData boolForKey:@"LevelFiveBoolOne"];
boolTwo = [userData boolForKey:@"LevelFiveBoolTwo"];
boolThree = [userData boolForKey:@"LevelFiveBoolThree"];
boolFour = [userData boolForKey:@"LevelFiveBoolFour"];
boolFive = [userData boolForKey:@"LevelFiveBoolFive"];
boolSix = [userData boolForKey:@"LevelFiveBoolSix"];
boolSeven = [userData boolForKey:@"LevelFiveBoolSeven"];
//End Of Level
[userData setBool:boolOne forKey:@"LevelFiveBoolOne"];
[userData setBool:boolTwo forKey:@"LevelFiveBoolTwo"];
[userData setBool:boolThree forKey:@"LevelFiveBoolThree"];
[userData setBool:boolFour forKey:@"LevelFiveBoolFour"];
[userData setBool:boolFive forKey:@"LevelFiveBoolFive"];
[userData setBool:boolSix forKey:@"LevelFiveBoolSix"];
[userData setBool:boolSeven forKey:@"LevelFiveBoolSeven"];
[userData synchronize];
Quand quand je passe à la vue qui utilise ces valeurs par défaut, les valeurs sont correctes mais quand je termine l'application et la relance, ces valeurs ne sont pas sauvegardées, tous les autres niveaux font exactement le même processus c'est le seul niveau qui ne fonctionne pas. J'ai regardé fixement cela pendant un certain temps et j'espère que quelqu'un a couru dans le même problème et peut me donner un aperçu de la façon dont ils l'ont résolu.
Nous vous remercions à l'avance BWC
Difficile à dire d'après ce que vous avez posté. Vérifiez la méthode qui enregistre les valeurs par défaut après le niveau. – Jordan