Halo zusammen,
zu erst ein mal frohe Weihnachten
Ich bin hier gerade etwas am verzweifeln. Ich habe ein Projekt mit Core Data erstellt und kann hier Events und Personen hinzufügen, was auch alles gut läuft. Nur wenn ich jetzt ein Event mit Personen löschen will, komme ich zu einem komisch verhalten. Wenn ein Event gelöscht wird, sollen die Personen in Core Data erhalten bleiben, nur die Relationships sollen gelöscht werden. Dis geht bis auf einen Relationship auch sehr gut, aber dieser macht mich gerade fertig.
So ist mein Core Data aufgebaut
Event
Relationship: To-Many: Reise -- > Event Deleting Rule: Nullify
Person
Relationship: To-Many: Reise -- > Event Deleting Rule: Nullify
Wenn ich jetzt ein Event lösche sieht es auch in der TableView sehr gut aus. Nur wenn ich mit dem SQLite Plugin vom FireFox mir die DB anschaue, sehe ich das der Relationship bestehen bleibt. Wie man auf dem Bild unten sehen kann. So mit würde ja meine DB unnötig groß auf dem iPhone werden.
Ich hatte versucht diesen Relationship wie folgt per Hand zu löschen, aber leider ohne großen Erfolg.
Alles anzeigen
Ich hoffe das mir einer von euch sagen kann wo mein Fehler ist.
Danke
[Blockierte Grafik: http://bilder.bitsmaker.de/Firefox.jpg]
zu erst ein mal frohe Weihnachten

Ich bin hier gerade etwas am verzweifeln. Ich habe ein Projekt mit Core Data erstellt und kann hier Events und Personen hinzufügen, was auch alles gut läuft. Nur wenn ich jetzt ein Event mit Personen löschen will, komme ich zu einem komisch verhalten. Wenn ein Event gelöscht wird, sollen die Personen in Core Data erhalten bleiben, nur die Relationships sollen gelöscht werden. Dis geht bis auf einen Relationship auch sehr gut, aber dieser macht mich gerade fertig.
So ist mein Core Data aufgebaut
Event
Relationship: To-Many: Reise -- > Event Deleting Rule: Nullify
Person
Relationship: To-Many: Reise -- > Event Deleting Rule: Nullify
Wenn ich jetzt ein Event lösche sieht es auch in der TableView sehr gut aus. Nur wenn ich mit dem SQLite Plugin vom FireFox mir die DB anschaue, sehe ich das der Relationship bestehen bleibt. Wie man auf dem Bild unten sehen kann. So mit würde ja meine DB unnötig groß auf dem iPhone werden.
Ich hatte versucht diesen Relationship wie folgt per Hand zu löschen, aber leider ohne großen Erfolg.
Quellcode
- //Relationship des gelöschten Person aus dem Event entfernen
- Event *eventToDelete = [self.fetchedResultsController objectAtIndexPath:indexPath];
- //Der Person das Event als Verweise löschen
- NSSet* setForPersons = eventToDelete.person.copy;
- for (Person *personInEvenToDelete in setForPersons) {
- NSMutableSet* eventsInPersonFromEventToDelete = [NSMutableSet setWithSet:personInEvenToDelete.event];
- NSSet* setForFor = (NSSet *)personInEvenToDelete.event.copy;
- for (Event* eventsInPerson in setForFor) {
- //for (Person* persinInEvent in eventsInPerson.person) {
- if (eventsInPerson == eventToDelete) {
- [eventsInPersonFromEventToDelete removeObject:eventToDelete];
- }
- //}
- }
- personInEvenToDelete.event = eventsInPersonFromEventToDelete;
- }
- eventToDelete.person = [NSSet new];
Ich hoffe das mir einer von euch sagen kann wo mein Fehler ist.
Danke
[Blockierte Grafik: http://bilder.bitsmaker.de/Firefox.jpg]
Vielen Dank
Gruß
Bongartz
Gruß
Bongartz
+scnr+