2016-10-10 2 views
1

jemand bitte erklären wann sollte ich die xcdatamodeld version erhöhen? Ich google viel, es geht um Migration, aber wann sollte ich die Version erhöhen?Wann sollte ich die xcdatamodeld-Version erhöhen?

Derzeit, wenn ich Änderungen in meinem xcdatamodel wie Entität hinzufügen oder Attribut hinzufügen, werde ich nsmanagedobject Unterklasse neu erstellen. Aber ich bin mir nicht sicher, welche Situation, dass ich die xcdatamodeld Version erhöhen muss. Bitte jemand erklären es. Vielen Dank!

+0

Nachdem Sie Ihre App im App Store veröffentlicht haben, müssen Sie, wenn Sie Änderungen an Ihrem Datenmodell vornehmen, die Version erhöhen. So können Sie eine ordnungsgemäße Datenmigration zwischen verschiedenen Versionen durchführen. –

Antwort

1

Ich denke, es ist ein Tool, um Benutzern meiner App zu helfen, vom vorherigen Datenmodell zum neuen Datenmodell zu migrieren. Also stoße ich die Version nicht an, es sei denn, ich muss sie auf irgendeine Weise "freigeben" (App Store oder interne Tester). Selbst dann, wenn ich eine kleine Gruppe von Testern habe, kann ich ihnen einfach sagen, sie zu löschen und neu zu installieren, damit ich nicht damit herumhantieren muss.

Wenn ein Benutzer mit dem alten Datenmodell Ihr App-Update mit einem neuen Datenmodell installiert, stürzt es ab, es sei denn, Sie weisen das Datenmodell an, zu migrieren.

+0

Danke für die Antwort. Welche Art von Änderung wird die App zum Absturz bringen? Es scheint in Ordnung, obwohl ich einige Änderungen vorgenommen habe und die Unterklasse nsmanagedobject neu erstellt habe. – Magrider

+0

Alles, was das Modell ändert, führt zu einem Absturz, wenn das Moc mit dem geänderten Modell versucht, einen Speicher zu öffnen, der mit dem vorherigen Modell erstellt wurde. Dies bedeutet, neue Entitäten hinzufügen, Attribute oder Relationen hinzufügen oder Attributtypen ändern. Das Ändern des Namens von Attributen, Entitäten oder Beziehungen ist ebenfalls ausreichend, um einen Absturz zu verursachen. Das Ändern der Unterklasse ist in Ordnung, da dies die Struktur des Modells nicht beeinflusst. – Rudedog

Verwandte Themen