Se si intende "posso cambiare il mio xcdatamodel e unire semplicemente le modifiche dal codice generato al mio codice esistente per le classi derivate NSManagedObject", sì, è semplice. Devi solo generare il codice per i modelli che sono stati modificati, quindi unire le modifiche manualmente in quelle particolari classi derivate. Dato che i cambiamenti sembrano essere solo attributi e relazioni aggiuntivi, questo dovrebbe essere banale - in effetti, è possibile utilizzare diff e patch per farlo in modo semi-automatico se le tue modifiche sono veramente additive in natura.
Tuttavia, se si intende che è necessario migrare un negozio esistente in un nuovo schema, è necessario un lavoro in anticipo. Ci sono alcune condizioni (aggiungendo entità ortogonali, proprietà recuperate, ecc.) Che non ti obbligheranno a farlo. Ti renderai conto se devi o meno quando tenti di aggiungere i tuoi negozi persistenti esistenti al coordinatore dell'archivio permanente per il tuo contesto dell'oggetto gestito.
Prima di decidere di intraprendere una modifica dello schema, è necessario leggere sempre come eseguire migrations and versioning in Dati principali, se si dispone di archivi esistenti da conservare. Questo è quasi sicuramente il caso nelle app che hanno i dati dell'utente memorizzati negli archivi dei Core Data. E a meno che tu non abbia uno strumento di importazione automatizzata o una utility per la generazione di archivi di dati, è probabile che anche i depositi statici esistenti necessitino di migrazione.
Ho trovato [Core Data Migration and Versioning] (http://www.timisted.net/blog/archive/core-data-migration/) abbastanza chiaramente riempie gli spazi vuoti lasciati nella documentazione Apple. 'Design> Data Model> Add Model Version' in Xcode era il passo che mi mancava. –
Nota: per ottenere il valore predefinito impostato per i nuovi attributi di oggetti esistenti, è necessario deselezionare il flag "opzionale". – Klaas
Il collegamento @ShaunInman non è disponibile –