Sono confuso su come eseguire la seguente funzione in Xcode 4 per impostare il modello da utilizzare dopo aver creato un modello con versione.
Design> Modello dati> Imposta versione corrente
Sono confuso su come eseguire la seguente funzione in Xcode 4 per impostare il modello da utilizzare dopo aver creato un modello con versione.
Design> Modello dati> Imposta versione corrente
Risposte:
In Xcode 4, se vedi solo una versione del tuo modello di dati nella sezione "Modeled Core Data Model - Current" della finestra di ispezione dei file quando hai selezionato il tuo file * .xcdatamodeld; oppure hai una seconda versione del tuo file * .xcdatamodel che mostra al di fuori del bundle xcdatamodeld nel navigatore del progetto Xcode, leggi sotto.
Per risolvere questo problema:
1) Rimuovere entrambi i riferimenti * .xcdatamodeld e * .xcdatamodel da Xcode facendo clic con il tasto destro su di essi nel navigatore del progetto e premendo "Elimina".
2) Quando richiesto da Xcode, fare clic su Rimuovi solo riferimenti (molto importante).
3) Riavviare Xcode per una buona misura nel caso in cui ci sia una memorizzazione nella cache.
4) Aggiungere nuovamente il singolo file * .xcdatamodeld che contiene entrambi i file * .xcdatamodel.
Xcode dovrebbe ora riconoscere le relazioni e consentire all'utente di espandere il file * .xcdatamodeld nel navigatore del progetto per mostrare entrambi i file * .xcdatamodel sotto il bundle xcdatamodeld padre, mostrando anche un segno di spunta verde accanto al modello corrente. Ciò dovrebbe anche consentire di selezionare la versione corrente del modello di dati nella finestra di ispezione file invece di mostrare solo una versione.
Per Xcode 4.2
Fai clic su YourModel.xcdatamodeld
Rendi visibile il riquadro laterale
In "Modello dati core con versione", seleziona la "casella a discesa corrente", seleziona il modello dati.
Ora il segno di spunta verde viene spostato sul modello di dati corrente.
Questo ha funzionato per me: https://developer.apple.com/library/mac/recipes/xcode_help-core_data_modeling_tool/Articles/setting_current_version.html
selezionando la versione del modello di dati di base
Ora la mia migrazione automatica del modello db funziona (con il codice di migrazione automatica nel delegato).
Puoi anche usare il metodo setter da CoraData ...
Fai qualcosa del genere ...
Nel tuo CustomCoreDataManager.m :
#import "ObjectiveRecord.h"
e chiama il metodo init in questo modo
- (instancetype)init {
self = [super init];
if (self) {
[[CoreDataManager sharedManager] setModelName:@"YourModelName"];
}
return self;
}