Utilizzando due diversi modelli di Core Data nella stessa applicazione per iPhone. Come posso farlo?

StackOverflow https://stackoverflow.com/questions/3187702

  •  02-10-2019
  •  | 
  •  

Domanda

Sto cercando di usare due diversi modelli di Core Data in un'applicazione iPhone, ho creato e corretto impostare il primo Core Data modello che utilizza SQLite come negozio oggetto persistente. Questo funziona molto bene ed i carichi negozio di default pre-popolato correttamente in una tabella.

Ora voglio creare un diverso modello di dati principale con un diverso negozio SQLite di default pre-popolato per caricarlo in un diverso Table View nella stessa applicazione iPhone. Come posso fare questo compito? Ho letto la documentazione Core Data e scaricato i codici di esempio, ma non ho trovato nulla di questo compito.

Si apprezzerà Qualsiasi codice di esempio utile per risolvere questo problema.

Grazie in anticipo, Pier

È stato utile?

Soluzione

Si può fare in due modi diversi:

  • È possibile impostare un intero stack di dati di base separata, in modo efficace semplicemente copiando il codice del modello che già avete nella vostra AppDelegate.

  • È possibile aggiungere il secondo file SQLite Core Data in stack dei dati di base esistenti. Questo vi permetterà di accedere entrambe le entità (non tabelle, si tratta di un oggetto grafico non è una banca dati) nello stesso stack. Per fare questo si aggiunge una seconda chiamata -addPersistentStore... nel metodo -persistentStoreCoordinator e assicurarsi che il metodo di -managedObjectModel sta facendo una fusione dei modelli nel vostro pacchetto.

Aggiorna

Set fino ovunque tu voglia. È possibile impostare fino a AppDelegate e poi fare un iniezione di dipendenza e spingere verso il basso la seconda pila a chi ha bisogno riferimento ad esso.

In generale vorrei non creare la pila nel UIViewController in quanto non è sua responsabilità.

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