RKRelationshipConnectionOperation managedObject在start方法中无效

时间:2015-08-20 20:15:59

标签: objective-c restkit

我在使用RestKit时遇到问题,并尝试使用外键连接两个实体。

假设我有两个实体A和B以及一个关系A< - >>乙 我按以下方式创建连接

RKEntityMapping *aEntity = ...;
[aEntity addAttributeMappingsFromDictionary: ...]

RKEntityMapping *bEntity = ...;
[bEntity addAttributeMappingsFromDictionary: ...]

RKConnectionDescription *aConnection = [[RKConnectionDescription alloc] 
                                        initWithRelationship:[[b.entity
                                        relationshipsByName][@"a"]
                                                  attributes:@{@"aID" : @"id"}];
[bEntity addConnection:aConnection];

从服务器收到数据时,我收到EXC_BAD_INSTRUCTION例外。 以下方法触发异常: static NSDictionary *RKConnectionAttributeValuesWithObject(RKConnectionDescription *connection, NSManagedObject *managedObject)id sourceValue = [managedObject valueForKey:sourceAttribute];

RKRelationshipConnectionOperation runloop中调用此方法。 我注意到managedObject在创建操作时(在init中)有效,但在start方法中变为无效(调试器给出了地址,但没有打印对象的信息) )

我找不到任何相关问题,所以我确定我错过了什么

编辑:关于评论,也许这就是为什么这不起作用的原因。 我在所有A实体之前取得。 在单独的提取中,我获取了一些B实体。 JSON类似于

{
   "id" : 1,
   "someattr" : "somevalue",
   "aID" : 5
}

1 个答案:

答案 0 :(得分:0)

更新到Restkit 0.25解决了这个问题。