我在使用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
}
答案 0 :(得分:0)
更新到Restkit 0.25解决了这个问题。