我是Restkit响应映射的新手。我无法正确映射它。我有所有必要属性的事件和场地模型。任何人都可以为它设置请求映射。提前致谢。 打印mappingResult的描述:
<RKMappingResult: 0x7b1e2da0, results={
"" = {
events = (
{
date = "Saturday,17 Jan 2015";
"event_list" = (
{
"already_attending" = 0;
attending = 1;
description = "<null>";
"event_end_date" = "Saturday,17 Jan 2015 07:30pm";
"event_start_date" = "Saturday,17 Jan 2015 07:30pm";
id = 54b3e2fe7265646a782f0000;
"is_limited" = 1;
"is_private_community_event" = 1;
name = Drinks;
picture = "http://veozen.systech-soft.com/pictures/original/missing.png";
"user_picture" = "http://veozen.systech-soft.com/profile_pictures/original/missing.png";
venue = {
latitude = "51.505968";
longitude = "-0.027865";
"venue_address" = "4.3";
"venue_name" = "Cafe Brera";
"venue_picture" = "https://maps.googleapis.com/maps/api/place/photo?photoreference=CnRnAAAAZk6z2twchk-xU6AGo-ZwK6ykDWTsf6LWh6TjX0ho7K5gLqr4-FkAtGpSr9MNK4Ytc7ejQerAvTO7w2_-fFUoTFF_W_vG3isNz3rKzxf-WMep-VC2loBE2Exmt4Lbr8q4kTKdwUNpckm5Lqy1b7UXTBIQeZjov6oDTrT21gjtv0XzYBoUetjjOaRuGeX262g6k4V8U0-o1H8&key=AIzaSyDfB1L32kL2bgdd0Wz5IJTeI0OiHONLmbQ&sensor=false&maxwidth=320";
};
}
);
}
);
};
}>
在这种情况下,我无法处理嵌套数组。映射不适用于“date”,“event_list”应该在字典中,并且所有字典都应该在数组“事件”中 注意:我已经为响应中的所有键定义了常量,例如。 kEventId,kAlready_attending等 Appdelegate.m
RKObjectMapping * eventRequestMapping = [Event defineRequestMapping];
RKObjectMapping * eventDateMapping = [EventDate defineRequestMapping]; RKResponseDescriptor * eventsResponseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:eventDateMapping 方法:RKRequestMethodGET pathPattern:@“/ api / v1 / users / events.json” 的keyPath:@ “事件” statusCodes:[NSIndexSet indexSetWithIndex:200]];
[[RKObjectManager sharedManager] addResponseDescriptor:eventsResponseDescriptor];
Event.m +(RKObjectMapping *)defineRequestMapping { RKObjectMapping * mapping = [RKObjectMapping mappingForClass:[self class]];
[mapping addAttributeMappingsFromDictionary:@{
kEventId: @"eventId",
kAlready_attending: @"hasJoined",
kIsLimited: @"isLimited",
kIsPrivateCommunityEvent: @"isPrivateCommunityEvent",
kEventName: @"eventName",
kPicture: @"eventImageURLString",
kDescription: @"eventDescription",
kEventStartDate: @"startDate",
kAttending: @"attending",
kEventEndDate : @"endDate"
}];
RKObjectMapping *locationRequestMapping = [Location defineRequestMapping];
[mapping addPropertyMapping:[RKRelationshipMapping relationshipMappingFromKeyPath:@"venue" toKeyPath:@"address" withMapping:locationRequestMapping]];
return mapping;
}
EventDate.m +(RKObjectMapping *)defineRequestMapping {
RKObjectMapping *mapping = [RKObjectMapping mappingForClass:[self class]];
[mapping addAttributeMappingsFromDictionary:@{
KDate : @"date",
}];
RKObjectMapping *eventRequestMapping = [Event defineRequestMapping];
[mapping addPropertyMapping:[RKRelationshipMapping relationshipMappingFromKeyPath:@"" toKeyPath:@"event_list" withMapping:eventRequestMapping]];
return mapping;
}