diff --git a/OTRestModelLoader.m b/OTRestModelLoader.m index 4436bc0d..f0d486eb 100644 --- a/OTRestModelLoader.m +++ b/OTRestModelLoader.m @@ -7,6 +7,7 @@ // #import "OTRestModelLoader.h" +#import "OTRestResponse.h" @implementation OTRestModelLoader @@ -28,14 +29,14 @@ return @selector(loadModelsFromXML:); } -- (void)loadModelFromXML:(Element*)XML { - id model = [_mapper buildModelFromXML:XML]; +- (void)loadModelFromXML:(OTRestResponse*)response { + id model = [_mapper buildModelFromXML:[[response payloadXMLDocument] firstChild]]; [_delegate performSelector:self.callback withObject:model]; } -- (void)loadModelsFromXML:(Element*)XML { +- (void)loadModelsFromXML:(OTRestResponse*)response { NSMutableArray* models = [[[NSMutableArray alloc] init] autorelease]; - NSArray* elements = [XML syblingElements]; + NSArray* elements = [[[response payloadXMLDocument] firstChild] childElements]; for (Element* element in elements) { id model = [_mapper buildModelFromXML:element]; [models addObject:model]; diff --git a/OTRestModelMapper.m b/OTRestModelMapper.m index 6f01fc52..decba14d 100644 --- a/OTRestModelMapper.m +++ b/OTRestModelMapper.m @@ -31,8 +31,7 @@ - (id)buildModelFromXML:(Element*)XML { NSString* elementName = [XML key]; Class class = [_elementToClassMappings objectForKey:elementName]; - id object = [[class alloc] init]; - [object setAttributesFromXML:XML]; + id object = [class createOrUpdateAttributesFromXML:XML]; return object; } diff --git a/OTRestResponse.m b/OTRestResponse.m index dec3d6e1..997fc46c 100644 --- a/OTRestResponse.m +++ b/OTRestResponse.m @@ -19,7 +19,6 @@ return self; } - - (id)initWithRestRequest:(OTRestRequest*)request { if (self = [self init]) { _request = [request retain];