1

我正在尝试将 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 中,有一个部分解决了我的问题:“Mapping without KVC”。我会在加载时将 objectMapping 与对象相关联。

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

这是我的问题: wiki 适用于 0.9.3。但是这种方法在 0.10.1 中已被弃用。是的,它仍然有效 - 目前。

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

4

1 回答 1

3

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

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

并且,自然地,使用块来替换委托方法。

于 2012-06-13T03:41:50.607 回答