Ich speichere eine NSMutableArray
in einer transformierbaren Eigenschaft in meinem Core Data Store. Ich kann das Element ordnungsgemäß mit Daten in der NSMutableArray
erstellen und dann aus der Eigenschaft laden und sogar Änderungen vornehmen. Wenn ich meine App durchsuche und wieder darauf zugreife, werden meine Änderungen gespeichert. Wenn ich die App neu lade, wurden die Änderungen jedoch nicht im Hauptdatenspeicher gespeichert. Andere Änderungen an der Einheit - z.B. Ändern seines Titels, der als NSString
gespeichert wird - werden gespeichert, auch wenn ich die App beende und wieder öffne.Core Data speichert keine Änderungen an der transformierbaren Eigenschaft
Ich lese in another StackOverflow question, dass transformierbare Attribute nicht automatisch über Änderungen benachrichtigt werden, und dass ich "den entsprechenden Setter vor dem Speichern" aufrufen müsste. Aber selbst mit den eigentlichen Setter-Funktionen - ich habe auch versucht, didChangeValueForKey
aufrufen - die Eigenschaft wird nicht ordnungsgemäß gespeichert. Irgendwelche guten Ideen?
gearbeitet habe ich dieses Problem mit NSMutableArrays als wandelbare Attribut erlebt, und ich war die entsprechenden Setter-Methoden Zugriff und Speichern der Kontext richtig (andere Attribute wurden immer als Beweis gespeichert). In meinem Fall bestand die Lösung darin, den Typ in ein NSArray umzuwandeln. – JoBu1324
@ JoBu1324 Vielen Dank dafür, hat mich für immer zu begreifen, warum Sachen nicht korrekt gespeichert! – BluGeni
@BluGeni Mein Vergnügen! – JoBu1324