/ / Restaurando registros padrão em um banco de dados do Core Data - iphone, core-data

Restaurando registros padrão em um banco de dados do Core Data - iphone, core-data

Eu tenho um aplicativo para iPhone que tem um sqlLite Core Datamodelo pré-carregado com dados padrão. Quero permitir que o usuário restaure esses dados padrão se eles tiverem modificado ou excluído registros do modelo, mantendo todos os novos registros adicionados ao modelo pelo usuário.

O banco de dados sqlLite é copiado para os usuáriosdiretório de documentos na primeira execução, para que o banco de dados original intocado esteja disponível no pacote do aplicativo. Qual é a maneira mais fácil de copiar registros entre os dois bancos de dados? Suponho que isso envolve a configuração de um persistentStoreCoordinator adicional ou a adição do dB original ao coordenador como um persistentStore adicional, mas os documentos são breves em como fazer isso.

Obrigado,

Jk

Respostas:

1 para resposta № 1

Se você não quiser excluir o repositório de destino e substituí-lo, o fluxo de trabalho será:

  1. Levante uma segunda pilha de dados principais com o armazenamento persistente de origem.
  2. Buscar cada entidade da fonte.
  3. Procure o objeto no destino.
  4. Se existir, atualize-o.
  5. Se não, crie.
  6. Salve a loja de destino.

Dependendo da quantidade de dados que você tem, isso pode ser uma operação muito cara.