2010-10-17 5 views
1

Dans mon jeu, je veux enregistrer un ensemble d'entiers que les joueurs statistiques peuvent afficher. E.g nombre de décès. C'est un int que j'augmente simplement d'un chaque fois qu'ils obtiennent une partie terminée.Enregistrer un ensemble d'entiers iPhone

Comment puis-je sauvegarder ceci puis l'avoir à ce numéro lorsque je relancerai le jeu?

Merci.

EDIT:

Ok après avoir lu quelques réponses par écrit Im pensant à un plist est la voie à suivre. J'ai regardé des tutoriels, mais disons que j'essaie ceci:

scoreData *score = [scoreData sharedData]; 
[dictionary setValue:score.highScore forKey:@"key2"]; 
[dictionary writeToFile:@"stats.plist" atomically:NO]; 

J'ai consulté mon singleton avec mon score à l'intérieur. Maintenant, en essayant de setValue, j'obtiens une erreur disant Im essayant de convertir un int en objet.

Je ne sais pas comment l'aborder autrement. Cela semble assez simple, mais partout, je semble donner essentiellement la même approche.

Merci pour l'aide jusqu'à présent, plus est apprécié.

Répondre

0

Essayez ...

[[NSUserDefaults standardUserDefaults] setInteger:highScore forKey:@"HighScore"]; 
highScore = [[NSUserDefaults standardUserDefaults] integerForKey:@"HighScore"]; 
+1

La première ligne de votre code est juste faux. '-setValue: forKey:' n'existe pas. Vous voulez à la place '-setInteger: forKey:'. – jer

+0

@Jer Essayé de le faire de la mémoire. Fixé. SO obj-c validateur serait un bon ajout. Merci ;) – Jordan

0

Vous pouvez écrire dans un fichier (c'est-à-dire les fonctions C simples fopen() etc.), utiliser vos propres classes et utiliser NS(Keyed)Archiver ou utiliser NSUserDefaults pour enregistrer des données.

+0

Parmi ces alternatives, NSUserDefaults semble le plus approprié. –

1

Un nombre illimité de façons.

Si vous n'enregistrez que ceci et peut-être quelques autres choses simples, l'utilisation des valeurs par défaut est probablement la meilleure idée.

Si, toutefois, vous enregistrez beaucoup plus d'éléments que quelques-uns, vous pouvez utiliser votre propre liste de propriétés (si le nombre d'éléments est inférieur à 200 environ).

Si vous avez beaucoup de paramètres, je conseille généralement aux gens de regarder Core Data à la place. C'est rapide avec beaucoup d'articles, alors que les deux autres, pas tellement.

+0

Fichier de liste de propriétés est également une bonne idée. Les données de base juste pour un couple d'entiers est très ambitieux, cependant :) – Eiko

+0

Ouais mais je ne sais pas s'il a d'autres choses qui se passent sous le capot, ou quoi d'autre il peut vouloir sauver. Pourrait aussi bien le mettre sur la table et laissez-le décider ce qui est approprié pour son cas. :) – jer

2

Je n'abus NSUserDefaults (Apple à la WWDC découragée cette cette année). Au lieu de cela, pourquoi ne pas simplement créer un NSMutableDictionary et y stocker les objets NSNumber. Le MutableDictionary peut facilement être écrit dans un fichier et est facilement lu.

Questions connexes