Ich bin verwirrt darüber, wie die folgende Funktion in Xcode 4 ausgeführt wird, um das Modell festzulegen, das nach dem Erstellen eines versionierten Modells verwendet werden soll.
Design> Datenmodell> Aktuelle Version einstellen
Ich bin verwirrt darüber, wie die folgende Funktion in Xcode 4 ausgeführt wird, um das Modell festzulegen, das nach dem Erstellen eines versionierten Modells verwendet werden soll.
Design> Datenmodell> Aktuelle Version einstellen
Antworten:
Wenn Sie in Xcode 4 nur eine Version Ihres Datenmodells im Abschnitt "Versioniertes Kerndatenmodell - Aktuell" des Dateiinspektors sehen, wenn Sie Ihre * .xcdatamodeld-Datei ausgewählt haben; oder Sie haben eine zweite Version Ihrer * .xcdatamodel-Datei, die außerhalb des xcdatamodeld-Bundles im Xcode-Projektnavigator angezeigt wird (siehe unten).
Um dies zu beheben:
1) Entfernen Sie die Referenzen * .xcdatamodeld und * .xcdatamodel aus Xcode, indem Sie im Projektnavigator mit der rechten Maustaste darauf klicken und auf "Löschen" klicken.
2) Wenn Sie von Xcode dazu aufgefordert werden, klicken Sie auf Nur Referenzen entfernen (sehr wichtig).
3) Starten Sie Xcode für eine gute Maßnahme neu, falls ein Caching stattfindet.
4) Fügen Sie die einzelne * .xcdatamodeld-Datei, die beide * .xcdatamodel-Dateien enthält, erneut hinzu.
Xcode sollte nun die Beziehungen erkennen und es Ihnen ermöglichen, die * .xcdatamodeld-Datei im Projektnavigator so zu erweitern, dass beide * .xcdatamodel-Dateien unter dem übergeordneten xcdatamodeld-Bundle angezeigt werden und neben dem aktuellen Modell auch ein grünes Häkchen angezeigt wird. Auf diese Weise sollten Sie auch die aktuelle Version des Datenmodells im Dateiinspektor auswählen können, anstatt nur eine Version anzuzeigen.
Für Xcode 4.2
Klicken Sie auf YourModel.xcdatamodeld
Machen Sie den Seitenbereich sichtbar
Wählen Sie unter "versioniertes Kerndatenmodell" das "aktuelle Dropdown-Feld" aus und wählen Sie Ihr Datenmodell aus.
Jetzt wird das grüne Häkchen in Ihr aktuelles Datenmodell verschoben.
Ein wenig abseits des Themas, aber wenn Sie diese Frage erreicht haben, um zu wissen, wie Sie eine erste neue Version Ihres Modells erstellen (wie ich es getan habe): Klicken Sie auf die Datei xcdatamodel >> Menü "Editor" >> Modellversion hinzufügen
Dadurch wird die Versionierung des Modells initiiert.
Dies funktionierte für mich: https://developer.apple.com/library/mac/recipes/xcode_help-core_data_modeling_tool/Articles/setting_current_version.html
Auswahl der Kerndatenmodellversion
Jetzt funktioniert meine automatische Migration des Datenbankmodells (mit dem automatischen Migrationscode im Delegaten).
Sie können auch die Setter-Methode von CoraData verwenden ... Machen Sie
einfach so etwas ...
In Ihrem CustomCoreDataManager.m :
#import "ObjectiveRecord.h"
und rufen Sie die init-Methode so auf
- (instancetype)init {
self = [super init];
if (self) {
[[CoreDataManager sharedManager] setModelName:@"YourModelName"];
}
return self;
}