W dokumentacji w szerokim literaturze wytworzonego sposobem fabryki do usunięcia/usuwanie podklasy obiektu zarządzanego w CoreData do IOSusuwanie lub usuwanie ManagedObject w CoreData
(void)removeXXXObject:(NSManagedObject *)value
gdzie XXX odpowiedni związek lub możemy użyj po prostu removeObject.
W moim kodzie użyłem to:
Data *lastData = [[self sortedPersonDatas] objectAtIndex:0];
[selectedPerson removePersonDatasObject:lastData];
gdzie PersonDatas jest relacja jeden-do-wielu danych zarządzanych obiekt z Wziąłem ostatnie dane (lastData wynikał z posortowanej tablicy wszystkich danych) Ale używając dwóch pierwszych metod usuwania i sprawdzania bazy danych SQL, możemy stwierdzić, że rzeczywiste dane istnieją tylko odwrotna relacja ma wartość zerową. Aby całkowicie usunąć dane (wszystkie atrybuty i obiektu) musiałem użyć:
[selectedPerson.managedObjectContext deleteObject:lastData];
Pytanie: który jest lepszy sposób i jest to prawidłowe, że CoreData pozostawia dane nienaruszone?
Czy zapisujesz kontekst po operacji usuwania? –
Tak, zapisałem kontekst, to nie problem. – BootMaker