地图关注者/关注Restkit的关注

时间:2013-09-26 10:31:35

标签: ios objective-c core-data restkit restkit-0.20

在我的核心数据项目中,我有一个User实体与followers / following关系,该目标也是User实体。

要获取给定user的信息,我调用具有此结构的端点:user/:id/ 要获取他的followers / following用户,请致电:/user/:id/followers

我已将以下路线添加到RKObjectManager

[manager.router.routeSet addRoute:[RKRoute routeWithRelationshipName:@"followers" objectClass:[User class] pathPattern:@"user/:id/followers" method:RKRequestMethodGET]];

[manager.router.routeSet addRoute:[RKRoute routeWithRelationshipName:@"following" objectClass:[User class] pathPattern:@"user/:id/following" method:RKRequestMethodGET]];

然后我打电话给:

[[RKObjectManager sharedManager] getObjectsAtPathForRelationship:@"followers" ofObject:user parameters:nil success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {

} failure:^(RKObjectRequestOperation *operation, NSError *error) {

}];

但RestKit无法执行映射。我想我错过了将关系信息添加到RKEntityMapping实体的User。我尝试了不同的方法但没有成功。我感谢你对这个问题的任何帮助。

更新

这是用户实体映射:

RKEntityMapping *userMapping = [RKEntityMapping mappingForEntityForName:@"User" inManagedObjectStore:managedObjectStore];
    [userMapping addAttributeMappingsFromDictionary:@{
     @"id":                 @"id",
     @"name":               @"name",
     @"user_name":          @"username"}];

描述者:

[RKResponseDescriptor responseDescriptorWithMapping:userMapping
                                                  method:RKRequestMethodGET
                                             pathPattern:@"user/:id/followers"
                                                 keyPath:nil
                      statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)]

我想我应该向userMapping引用关注者/后续添加内容,但我还没有弄清楚。感谢。

1 个答案:

答案 0 :(得分:1)

这似乎是RestKit中的限制/错误。您可能希望在RestKit github页面的问题列表中提出此问题。

您最简单的解决方法应该是使用mappingResult和源user对象中提供的项目来连接成功块中的关系。