In der Dokumentation und in der breiten Literatur der erzeugten Factory-Methode zu entfernen, um zu löschen/entfernen, um eine Unterklasse verwaltete Objekt in Coredata für IOS istLöschen oder Managed in Coredata
(void)removeXXXObject:(NSManagedObject *)value
wobei XXX die entsprechende Beziehung ist oder wir können benutze einfach removeObject.
In meinem Code habe ich dies:
Data *lastData = [[self sortedPersonDatas] objectAtIndex:0];
[selectedPerson removePersonDatasObject:lastData];
wo PersonDatas eine Beziehung zu Daten einer Eins-zu-viele ist Objekt verwaltet aus ich die letzten Daten erstellt wurde (lastData resultierte aus einem sortierten Array aller Daten) Aber mit den ersten beiden remove-Methoden und der Überprüfung der SQL-Datenbank hinter finden wir, dass die tatsächlichen Daten vorhanden sind, nur die inverse Beziehung ist null. Um die Daten vollständig (alle Attribute und das Objekt) lösche ich benutzen musste:
[selectedPerson.managedObjectContext deleteObject:lastData];
Die Frage: was die bessere Methode ist und ist es richtig, dass Coredata die Daten intakt lässt?
Haben Sie Kontext nach dem Löschvorgang speichern? –
Ja, ich habe den Kontext gespeichert, es ist nicht das Problem. – BootMaker