2010-12-11 11 views
0

Gibt es eine einfache Möglichkeit, Eigenschaftswert nach ID abzurufen?CoreData - Wert nach ID

Ich habe verwendet:

[request setReturnsDistinctResults:YES]; 
[request setResultType:NSDictionaryResultType]; 

ein Wörterbuch von eindeutigen Werten wie folgt abgerufen haben:

(
    {Category = "0x6d83070 <x-coredata://04C30A5B-A2A2-4342-B5D4-DCE1AAA339DB/Category/p15>";}, 
    {Category = "0x5cbad20 <x-coredata://04C30A5B-A2A2-4342-B5D4-DCE1AAA339DB/Category/p16>";} 
) 

Wie diese IDs benutzen? Wie kann man Daten aus der Category-Tabelle mit diesen IDs abrufen? Wird objectWithID: objectID mir helfen?

bitte helfen

Antwort

0

Ja, das sollte eine Instanz von NSManagedObjectID sein, die Sie -[NSManagedObjectContext objectWithID:] geben kann das eigentliche Objekt abzurufen.

Aber das wirft die Frage auf: Warum nicht einfach alles als ein Objekt anstatt als ein Wörterbuch holen? Dann können Sie einfach tun:

NSArray * results = [context executeFetchRequest:request error:nil]; 
MyManagedObject * obj = [results objectAtIndex:0]; 
Category * category = [obj category]; 
+0

Danke für die Antwort. Ich benutze setReturnsDistinctResults: YES - wenn Sie dies verwenden, müssen Sie den Typ in das Wörterbuch ändern. Ich habe so oft mit Objekt versucht, alle Tabelle zurückgibt. – Cezar

+0

@Cezar 'setReturnsDistinctResults:' erfordert einen Wörterbuch-Rückgabetyp? Das ist neu für mich! Bist du sicher, dass das stimmt? Ich schaute in die Dokumentation und konnte nichts finden ... –