我正在尝试使用RestKit将一些JSON映射到我的核心数据实体。
我有一个Case
实体,其caseId
属性与Binder
实体名为binders
的可选一对多关系。 Binder
实体与名为Case
的{{1}}具有一对一的关系,这不是可选的。
我可以成功映射case
个实体,但我在映射Case
个实体时遇到了问题。
我的映射设置如下:
Binder
我通过使用RKEntityMapping *caseEntityMapping = [RKEntityMapping mappingForEntityForName:@"Case" inManagedObjectStore:managedObjectStore];
[caseEntityMapping addAttributeMappingsFromArray:[@"caseId"]];
RKEntityMapping *binderEntityMapping = [RKEntityMapping mappingForEntityForName:@"Binder" inManagedObjectStore:managedObjectStore];
NSString *pathPattern = @"rest/case/list";
[router.routeSet addRoute:[RKRoute routeWithName:@"getCases" pathPattern:pathPattern method:RKRequestMethodGET]];
RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:caseEntityMapping pathPattern:pathPattern keyPath:@"data" statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];
[_objectManager addResponseDescriptor:responseDescriptor];
pathPattern = @"rest/binder/list/:caseId";
[router.routeSet addRoute:[RKRoute routeWithRelationshipName:@"binders" objectClass:[PFCase class] pathPattern:pathPattern method:RKRequestMethodGET]];
RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:binderEntityMapping pathPattern:pathPattern keyPath:@"data" statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];
[_objectManager addResponseDescriptor:responseDescriptor];
获取案例,然后在成功块中,通过执行使用[_objectManager getObjectsAtPathForRouteNamed:@"getCases" object:nil parameters:nil success:… failure:…]
创建的请求操作,获取每个案例的绑定器。
但是粘合剂没有映射结果。我错过了什么吗?
答案 0 :(得分:0)
我必须将一个外键RKConnectionDescription添加到binder实体映射中,这需要我为名为Binder
的{{1}}实体创建一个新属性。
有没有办法在不创建新属性的情况下执行此操作?此外,什么是RKConnectionDescription的关键路径/何时需要它?