Question

Je travaille sur un jeu de réflexion, le moteur de jeu contient une hiérarchie complexe d'objets, allant des acteurs du jeu aux vecteurs aux animations de transition. Selon l’état du jeu, ils peuvent s’ajouter de 10 à 1 000 (dans les cas extrêmes). J'ai repoussé ce moment jusqu'à ce que je doive travailler à la sauvegarde et au chargement de tout ce gâchis, car je n'ai aucune expérience à ce sujet, mais maintenant, le moment où je craignais est sur le point d'arriver.

Est-ce une bonne idée d'utiliser NSKeyedArchiver pour cela? Son concept semble puissant. De cette façon, je pourrais reconstruire les états des objets, mais est-ce que cela inclut les pointeurs entre les objets sauvegardés? Et comment se comporte-t-il en termes de performances? Le système aura-t-il le temps de sauvegarder tous ces objets sur le disque après la fermeture de l'application?

Était-ce utile?

La solution 2

J'ai opté pour NSKeyedArchiver, qui conserve les références entre les objets. Voir ici: Moyen facile d'archiver des objets liés entre eux

Autres conseils

NSKeyedArchiver est assez puissant, mais il ne vous laissera pas conserver les liens entre les objets (à moins que vous ne les ajoutiez vous-même après la désarchivage). Si vous pouvez / avez besoin de stocker votre jeu de données entier de manière atomique, alors NSKeyedArchiver est probablement la voie à suivre, mais il y aura une "réhydratation" de votre part s'il y a quelque chose de plus complexe que les relations parent-enfant.

Nous avons une hiérarchie complexe d'objets de données, nous les stockons dans une base de données SQLite et nous les rebranchez lors de leur extraction.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top