Domanda

I analizzare un file XML contenente libri, per ogni nuovo nodo vado:

Book *book = (Book*)[NSEntityDescription insertNewObjectForEntityForName:@"Book" inManagedObjectContext:managedObjectContext];

Per ottenere un NSManagedObject del mio Core Data Entity libro, ho poi procedere a popolare l'oggetto Libro gestito con i dati, aggiungerlo a un array, risciacquo, ripetere.

Quando mi sono fatto, vi presento la lista dei libri per l'utente. Non ho ancora eseguito il salvataggio:

NSError *error;
if (![managedObjectContext save:&error]) {
    NSLog(@"%@", [error domain]);
}

L'utente ora seleziona uno dei libri, questo vorrei a persistere, ma solo questo, tutti gli altri libri non sono di alcun interesse per me più. Il Libro Entità non ha / o fa parte di rapporti. E 'solo un "single" Entità.

Se tiro "Salva leva" ogni oggetto libro verrà persistito e avrò a tutto, ma la mia eliminazione quella desiderata.

Come faccio a ottenere intorno a questa sfida, non posso sembrare davvero trovare quel particolare caso d'uso nei dati Nucleo istruzioni di programmazione, che tipo di bug anche a me un po ', sto andando contro le migliori pratiche qui?

Grazie per qualsiasi aiuto dato.

È stato utile?

Soluzione

Si si sta andando contro le migliori pratiche. In tal caso l'uso, se proprio non si vuole salvare gli oggetti, tenerli in un formato intermedio e solo creare un oggetto Core Data per quello che si desidera a persistere. Tuttavia questo sembra del tutto sbagliato.

Qual è il danno a salvare gli altri libri? Sono l'unica intenzione di essere utilizzato una sola volta mai?

In base alla piccola quantità di informazioni fornite, sembra il vostro approccio alle esigenze problema essere riconsiderato.

Aggiorna

Rimozione di oggetti non salvati dal contesto ha una piccola sì in testa in modo che sia la soluzione migliore dati i parametri che avete. Ho chiesto agli altri domande per vedere se ci fosse una soluzione globale più pulito piuttosto che costruire gli oggetti solo per buttarli via. Sembra che si sono già su questa strada però.

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