ios - RestKit date conversion -


a date value of 1435819788000 converted restkit 47469-04-26 14:00:00 +0000. guess problem difference between java's date representation uses milliseconds , unix's date representation uses seconds. think need set converter. how can that? (i see rk transformers on github don't know how use them or find appropriate transformer.)

edit: code rest call

    nsurl *baseurl = [nsurl urlwithstring:@"some url"];     nsurlrequest *request = [nsurlrequest requestwithurl:baseurl];      rkobjectmapping *mapping = [rkobjectmapping mappingforclass:[price class]];     [mapping addattributemappingsfromdictionary:@{@"id": @"ron95", @"ron95": @"ron92", @"dieselnormal": @"dieselnormal", @"dieselspecial": @"dieselspecial", @"postdate": @"postdate"}];      rkresponsedescriptor *responsedescriptor = [rkresponsedescriptor responsedescriptorwithmapping:mapping method:rkrequestmethodget pathpattern:nil keypath:nil statuscodes:rkstatuscodeindexsetforclass(rkstatuscodeclasssuccessful)];      rkobjectrequestoperation *objectrequestoperation = [[rkobjectrequestoperation alloc] initwithrequest:request responsedescriptors:@[ responsedescriptor ]];     [objectrequestoperation setcompletionblockwithsuccess:^(rkobjectrequestoperation *operation, rkmappingresult *mappingresult) {      nsarray *prices = [mappingresult array]; 

edit: think have working now. following how it.

    rkobjectmapping *mapping = [rkobjectmapping mappingforclass:[price class]];     [mapping addattributemappingsfromdictionary:@{@"id": @"ron95", @"ron95": @"ron92", @"dieselnormal": @"dieselnormal", @"dieselspecial": @"dieselspecial"}];      rkblockvaluetransformer *numbertodatevaluetransformer = [rkblockvaluetransformer valuetransformerwithvalidationblock:^bool(__unsafe_unretained class sourceclass, __unsafe_unretained class destinationclass) {         // transformer handles `nsnumber` <-> `nsdate` transformations         return (([sourceclass issubclassofclass:[nsnumber class]] && [destinationclass issubclassofclass:[nsdate class]]) ||                 ([sourceclass issubclassofclass:[nsdate class]] && [destinationclass issubclassofclass:[nsnumber class]]));     } transformationblock:^bool(id inputvalue, __autoreleasing id *outputvalue, __unsafe_unretained class outputvalueclass, nserror *__autoreleasing *error) {         rkvaluetransformertestinputvalueiskindofclass(inputvalue, (@[ [nsnumber class], [nsdate class] ]), error);         rkvaluetransformertestoutputvalueclassissubclassofclass(outputvalueclass, (@[ [nsnumber class], [nsdate class] ]), error);         if ([outputvalueclass issubclassofclass:[nsdate class]]) {             if ([inputvalue iskindofclass:[nsnumber class]]) {                 *outputvalue = [nsdate datewithtimeintervalsince1970:[inputvalue doublevalue] / 1000];             }         } else if ([outputvalueclass issubclassofclass:[nsnumber class]]) {             *outputvalue = @([inputvalue timeintervalsince1970]);         }         return yes;     }];       rkattributemapping *postdatemapping = [rkattributemapping attributemappingfromkeypath:@"postdate" tokeypath:@"postdate"];     postdatemapping.valuetransformer = numbertodatevaluetransformer;     [mapping addpropertymapping:postdatemapping]; 


Comments