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?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top