RestKit非kvc对象映射

时间:2012-06-13 03:20:54

标签: objective-c restkit

我正在尝试将RestKit集成到我当前的项目中。 我正在使用以下格式检索数据:

[
    {"id":"1",
    "name":"john"}
    {"id":"2",
    "name":"bob"}
]

按照RestKit wiki中的优秀教程,我看到推荐的完全符合KVC标准的格式是:

{"customers": [
    {"id":"1",
    "name":"john"}
    {"id":"2",
    "name":"bob"} ]
}

然后我可以使用

[mappingProvider setMapping:customerMapping forKeyPath:@"customers"];

不幸的是,我目前还没有控制服务器上的数据格式。

稍后在RestKit wiki中,有一节解决了我的问题:“没有KVC的映射”。我会在加载时将objectMapping与对象关联起来。

[objectManager loadObjectsAtResourcePath:@"/data" objectMapping:customerMapping delegate:self];

这是我的问题:wiki适用于0.9.3。但此方法在0.10.1 中已弃用。是的,它现在仍然有效。

如果不推荐使用此方法,并且请记住我不控制数据,那么在这种非KVC情况下将对象映射分配给类的适当方法是什么?

1 个答案:

答案 0 :(得分:3)

我对此并不乐观,但我相信它已被弃用以支持块......这可能有效:

[[RKObjectManager sharedManager] loadObjectsAtResourcePath:@"/data" usingBlock:^(RKObjectLoader* loader) {
    [loader setObjectMapping:customerMapping];
}];

当然,使用块来替换委托方法。