melhor maneira de salvar dados do jogo / carga para iPhone
-
08-07-2019 - |
Pergunta
Eu estou trabalhando em um jogo de quebra-cabeça, o motor de jogo tem uma complexa hierarquia de objetos, desde atores jogo de vetores para animações de transição. Dependendo do estado do jogo, eles podem adicionar até 10-1000 (em casos extremos). Fui adiando o momento até que eu teria que trabalhar na poupança e carregamento de toda essa confusão, como eu não tenho experiência com isso, mas agora o momento que eu temia está prestes a chegar.
É uma boa idéia usar NSKeyedArchiver para isso? Seu conceito parece poderoso. Dessa forma, eu poderia reconstruir a objetos estados, mas isso incluem os ponteiros entre os objetos salvos? E como ele se comporta em termos de performance? Será que o sistema tem tempo para salvar todos esses objetos no disco em caso de cessação aplicativo?
Solução 2
Eu fui para NSKeyedArchiver, que faz manter referências entre objetos. Veja aqui: Fácil forma de arquivar objetos interligados
Outras dicas
NSKeyedArchiver é bastante poderoso, mas não vai deixá-lo manter ligações entre objetos (a menos que você adicioná-los a si mesmo pós-desarmazenando). Se você puder / necessidade de armazenar definir atomicamente seus dados inteiros, então NSKeyedArchiver é provavelmente o caminho a percorrer, mas haverá alguma 're-hidratação' envolvidos em sua parte se há alguma coisa mais complexa, então relações pai-filho.
Temos uma complexa hierarquia de objetos de dados, nós armazená-los para um banco de dados SQLite, e re-ligá-los quando extraí-los.