Domanda

Sto lavorando a un puzzle game, il motore di gioco contiene una complessa gerarchia di oggetti, dagli attori del gioco ai vettori fino alle animazioni di transizione. A seconda dello stato del gioco, potrebbero sommarsi da 10 a 1000 (in casi estremi). Ho ritardato il momento fino a quando non avrei dovuto lavorare sul salvataggio e il caricamento di tutto quel casino, poiché non ho esperienza su questo, ma ora il momento che temevo sta per arrivare.

È una buona idea usare NSKeyedArchiver per questo? Il suo concetto sembra potente. In questo modo ho potuto ricostruire gli stati degli oggetti, ma include i puntatori tra gli oggetti salvati? E come si comporta dal punto di vista delle prestazioni? Il sistema avrà il tempo di salvare tutti questi oggetti sul disco al termine dell'app?

È stato utile?

Soluzione 2

Ho scelto NSKeyedArchiver, che mantiene i riferimenti tra gli oggetti. Vedi qui: Modo semplice per archiviare oggetti interconnessi

Altri suggerimenti

NSKeyedArchiver è piuttosto potente, ma non ti consente di conservare i collegamenti tra gli oggetti (a meno che non li aggiungi dopo l'archiviazione). Se puoi / devi archiviare atomicamente l'intero set di dati, allora NSKeyedArchiver è probabilmente la strada da percorrere, ma ci sarà un po 'di reidratazione' da parte tua se c'è qualcosa di più complesso delle relazioni padre-figlio.

Abbiamo una complessa gerarchia di oggetti dati, li archiviamo in un database SQLite e li ricolleghiamo quando li estraiamo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top