objective c - Restkit: Post Json Array and Map response to Managed Objects -
here setup, post list of objects in json server , got updated results mapped core data , updated.
-- post boday --
{ "memberid": "1000000", "contacts": [ { "phonenumber": "+12233333333", "firstname": "john", "lastname": "h" }, { "phonenumber": "+12244444444", "firstname": "mary", "lastname": "k" } ] }  -- post response --
{ "contacts": [ { "phonenumber": "+12233333333", "firstname": "john", "lastname": "k", "ismember": "yes" }, { "phonenumber": "+12244444444", "firstname": "mary", "lastname": "k", "ismember": "no" } ] }  i found thread discusses similar case. restkit: how 1 post array of objects?
this setup.
-- shcontact.h --
@interface shcontact : nsmanagedobject {} @property (nonatomic, strong) nsstring* phonenumber; @property (nonatomic, strong) nsstring* firstname; @property (nonatomic, strong) nsstring* lastname; @property (nonatomic, strong) nsnumber* ismember; @end  -- shcontactpost.m --
#import "shcontactpost.h" @implementation shcontactpost @synthesize contacts; @synthesize memberid; - (nsarray*)contacts { return <list-of-shcontact>; } - (nsstring *)memberid { return @"my-member-id"; } @end  -- rk mapping --
// setup our object mappings shcontact rkmanagedobjectmapping* contactmapping = [rkmanagedobjectmapping mappingforclass:[shcontact class] inmanagedobjectstore:objectmanager.objectstore]; contactmapping.primarykeyattribute = @"phonenumber"; [contactmapping mapattributes:@"phonenumber", @"firstname", @"lastname", @"ismember", nil]; [objectmanager.mappingprovider setobjectmapping:contactmapping forkeypath:@"contacts"]; [[objectmanager mappingprovider] setserializationmapping:[contactmapping inversemapping] forclass:[shcontact class]]; rkobjectmapping *cpostmapping = [rkobjectmapping mappingforclass:[shcontactpost class]]; [cpostmapping mapkeypath:@"contacts" torelationship:@"contacts" withmapping:contactmapping]; [cpostmapping mapattributes:@"memberid", nil]; [objectmanager.mappingprovider setserializationmapping:[cpostmapping inversemapping] forclass:[shcontactpost class]]; [objectmanager.router routeclass:[shcontactpost class] toresourcepath:@"/contacts" formethod:rkrequestmethodpost]; objectmanager.serializationmimetype = rkmimetypejson;  -- post server --
shcontactpost *post = [[shcontactpost alloc] init]; rkobjectmanager* manager = [rkobjectmanager sharedmanager]; [manager postobject:post delegate:self];  server post , response successful. however, reskit not able map result list of shcontact objects. exception. missing something?
restkit.network:rkobjectloader.m:222 encountered errors during mapping: cannot map collection of objects onto non-mutable collection. unexpected destination object type 'shcontactpost'  update: changed make work me.
-- rk mapping --
// setup our object mappings shcontact rkmanagedobjectmapping* contactmapping = [rkmanagedobjectmapping mappingforclass:[shcontact class] inmanagedobjectstore:objectmanager.objectstore]; contactmapping.primarykeyattribute = @"phonenumber"; [contactmapping mapattributes:@"phonenumber", @"firstname", @"lastname", @"ismember", nil]; [objectmanager.mappingprovider addobjectmapping:contactmapping];  -- post server --
shcontactpost *post = [[shcontactpost alloc] init]; rkobjectmanager* manager = [rkobjectmanager sharedmanager]; rkobjectmapping* responsemapping = [manager.mappingprovider objectmappingforclass:[shcontact class]]; [manager postobject:post usingblock:^(rkobjectloader *loader) { loader.delegate = self; loader.targetobject = nil; responsemapping.rootkeypath = @"contacts"; loader.objectmapping = responsemapping; }];  loader.targetobject needs set nil, otherwise, won't work.
|   here setup, post list of objects in json server , got updated results mapped core data , updated. -- post boday --  -- post response --  i found thread discusses similar case. restkit: how 1 post array of objects? this setup. -- shcontact.h --  -- shcontactpost.m --  -- rk mapping --  -- post server --  server post , response successful. however, reskit not able map result list of shcontact objects. exception. missing something?  update: changed make work me. -- rk mapping --  -- post server --  loader.targetobject needs set nil, otherwise, won't work.  |  |||||
 
  |