Phew, scusa per il titolo lungo.Salvataggio di una singola entità CoreData (non dell'intero contesto) pur mantenendo funzionalità di NSFetchedResultController
Ho un singolo oggetto gestito Contesto in cui sto memorizzando brani derivati da due posizioni diverse. Ottengo alcune delle canzoni dall'archiviazione persistente sul telefono (utilizzando Core Data), e tiro alcune delle canzoni da un database online. Entrambe le canzoni sono della stessa sottoclasse MananagedObject. Vorrei che entrambi questi brani si trovassero in un unico contesto perché vorrei che fossero entrambi visualizzati in una vista tabella collegata a un NSFetchedResultsController.
Il problema si verifica quando desidero salvare uno dei brani. Non voglio salvare tutte le canzoni che ho estratto dal database online al telefono. Voglio solo salvare la singola canzone, quindi un semplice [moc save] non funziona. L'altro problema è che dopo aver salvato la singola canzone, voglio comunque che le canzoni estratte da online siano nel contesto (ma di nuovo, non salvate). Credo di avere un paio di opzioni diverse:
1) È possibile avere un controller NSFetchedResults connesso a più contesti?
2) Potrei spostare tutte le canzoni estratte dal database online in un contesto temporaneo separato, salvare nel contesto originale e quindi spostare indietro tutti i brani. (vedi: How do I copy or move an NSManagedObject from one context to another?)
3) Ricorda tutte le coppie chiave-valore per i brani online, elimina i brani online dal contesto, salva il contesto originale, reinserisci tutti i brani online nel contesto originale in base a delle coppie chiave-valore salvate.
4) Sono un enorme n00b e mi manca qualcosa di più facile.
Grazie!
Che cosa vuoi veramente risparmiare? La posizione della canzone o i dati della canzone attuale (file)? – sosborn