2013-08-07 7 views
6

Ich möchte NSFetchRequest erstellen und Eigenschaften wie diese zu holen:Kann ich transiente Eigenschaften zum Abrufen festlegen?

request.propertiesToFetch = @[@"a", @"b", @"c"]; 

wo a und b in Core Data-Datenbank gespeichert sind, und c vergänglich ist. executeFetchRequest: löst einen Fehler Invalid keypath c passed to setPropertiesToFetch: aus. Aber wenn ich das transiente Kontrollkästchen für die Eigenschaft c deaktiviere, wird alles gut funktionieren. Also ist es wirklich unmöglich, vorübergehende Eigenschaften zu holen, oder mache ich etwas falsch?

Antwort

8

Ja, es ist wirklich unmöglich. Du kannst sie nicht holen, weil sie nicht im persistenten Speicher existieren - das bedeutet, dass es vorübergehend ist. Sie können alle persistenten Attribute abrufen, aus denen das abgeleitete transiente Attribut erstellt wird.