2012-04-05 16 views
2

Ich bin Entsendung zu einem uri mit RestKitMapping RestKit Antwort schreiben

NSString* path = [NSString stringWithFormat:@"myPathHere"]; 
    NSDictionary *params = [NSDictionary dictionaryWithKeysAndObjects:@"rating",[rating stringValue], nil]; 
    [[RKObjectManager sharedManager].client post:path params:params delegate:self]; 

Der Server wird mit einer aktualisierten Version meiner Managed "Item" antworten.

Wie gehe ich über die Zuordnung dieses Elements. Benütze ich die folgende Delegate-Methode?

Ich weiß, dass von hier ich den Antwort-JSON-Wert erhalten kann, aber wie ändere ich das in das zugeordnete Objekt?

Jede Hilfe wird sehr geschätzt.

Danke!

Antwort

0

Wenn ich gebraucht habe meine Serverobjekte ich die Anfrage wie diese machen zur Karte:

- (void)objectLoader:(RKObjectLoader*)objectLoader didLoadObjects:(NSArray*)objects 

ich die aktualisierte dann schreiben:

 [[RKObjectManager sharedManager] 
     loadObjectsAtResourcePath:[qualifiedResourceURL 
            appendQueryParams:params] 
     delegate:self 
     ]; 

und dann das Objekt in diesem Verfahren kommt zurück Objekt mit dem Notification Manager

 [[NSNotificationCenter defaultCenter] postNotificationName:GotFotosInRegion_Fotos_Array_Response object:objects]; 

Die beste Dokumentation ist unter https://github.com/RestKit/RestKit/blob/master/Docs/Object%20Mapping.md

+0

Das funktioniert, wenn ich GET verwendete, aber ich verwende POST. Wenn man sich die Methode applyQueryParams anschaut, nimmt sie nur das Wörterbuch, das man eingibt, und hängt es an den Pfad mit einem "?" mitten drin. – iDev

+0

Können Sie Ihren RKObjectRouter auf POST einstellen? Etwas wie das: Router = [RKObjectRouter neu]; [Router routeClass: [CheckStatus-Klasse] toResourcePath: @ "/ registration/rest/users/checkstatus" forMethod: RKRequestMethodPOST]; –

+0

Ich habe das versucht und es scheint nicht zu funktionieren. Ich fühle mich wie ich näher komme. Der folgende * (im nächsten Kommentar) * wird dazu führen, dass Objektladeprogramm didloadobjects aufgerufen wird, da das Objektarray leer ist. – iDev

Verwandte Themen