Aktuelle Konfiguration: MVC-1, onViewDidLoad, erstellt ein verwaltetes Objekt, ruft Daten vom verwalteten Objekt ab und aktualisiert verschiedene UI-Elemente.Umgang mit verwalteten Objekten zwischen zwei MVCs mit einer Datenbank
MVC-2: Genaues Setup. Ich habe den gleichen Code von MVC-1 in MVC-2 kopiert und eingefügt.
Probleme, die ich sehe: Nach dem Starten und Öffnen von MVC-1 wird der gesamte Code ohne Fehler ausgeführt. Das ManagedObject wird erstellt, die Abrufanforderungen für die ManageObjectContext-Arbeit und die Benutzeroberfläche werden ordnungsgemäß aktualisiert. Wenn jedoch zu MVC-2 gewechselt wird, scheint es, dass keines der Daten, die MVC-2 abrufen soll, tatsächlich aktualisiert wird. Alle Benutzeroberflächenelemente in MVC-2 haben die gleichen Daten vom letzten Start der Anwendung.
Darüber hinaus, wenn ich die Anwendung starten und MVC-2 zuerst öffnen, bekomme ich die gleichen Ergebnisse, nur MVC-1 scheint nicht dieses Mal aktualisiert zu werden.
Was ist es, dass ich über schaue? Ich habe explizite Speicherungen in der Datenbank gemacht. Ich bin (zumindest denke ich, ich) zwei verschiedene ManagedObjects zu erstellen. Muss ich irgendwie eine schließen, bevor ich die andere erstelle? Jeder Rat wäre sehr hilfreich. Vielen Dank.
Wie viele Kontexte verwalteter Objekte verwenden Sie? – Max
Eins in jedem MVC. Jeder ist eine private Eigenschaft seines MVC und wird auf ViewDidLoad instanziiert. Auch weil ich den Code von einem MVC zum anderen kopiert habe, sind sie gleich benannt. Ich hoffe, das hilft. – user1301424
Ich habe etwas über die Dev-Seite von Apple geforscht, ich denke, das Problem könnte etwas mit der Aktualisierung der Kontexte zu tun haben. Ich bin mir darüber jedoch nicht sicher, und ich bin ein wenig verwirrt, wie ich mit den Aktualisierungen umgehen kann. – user1301424