在我的核心数据项目中,我有一个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
引用关注者/后续添加内容,但我还没有弄清楚。感谢。
答案 0 :(得分:1)
这似乎是RestKit中的限制/错误。您可能希望在RestKit github页面的问题列表中提出此问题。
您最简单的解决方法应该是使用mappingResult
和源user
对象中提供的项目来连接成功块中的关系。