我想要实现的是将关系映射到@root对象。
映射到@ root.fieldName按预期工作。
[spendingsMapping addPropertyMapping:[RKRelationshipMapping relationshipMappingFromKeyPath:@"@root.user"
toKeyPath:@"user"
withMapping:userMapping]];
但是静默地映射到@root
,@root.self
不起作用 - 结果关系只是一个零。
[spendingsMapping addPropertyMapping:[RKRelationshipMapping relationshipMappingFromKeyPath:@"@root.self"
toKeyPath:@"optimizer"
withMapping:optimizerMapping]];
@root
== @parent.@parent
代表我spendingsMapping
。
更新:
自[@"lol" valueForKey:@"self"] == @"lol"
和[@{} valueForKey:@"self"] == nil
以来我就遇到了问题。正确的方法是使用@"@self"
密钥,而不是@"self"
。
现在的问题是无限的映射循环。
Optimizer
包含与Tariff
的多个关系,该关系与Spendings
有很多关系。 Spendings
与Optimizer
和{1}}之间存在关联关系。反转都已设置。
确定。我收到一个JSON(这是Tariff
实体),如下所示:
Optimizer
所以我添加
{
tariffs:[
{
spendings:[
{
},
]
},
]
}
并以无限循环结束,因为它会尝试映射[spendingsMapping addPropertyMapping:[RKRelationshipMapping relationshipMappingFromKeyPath:@"@root.@self"
toKeyPath:@"optimizer"
withMapping:optimizerMapping]];
,其中包含Optimizer
,其中包含Tariff
,其中包含Spendings
...