RestKit 非 kvc 对象映射



我正在尝试将 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 的映射"。我会在加载时将对象映射与对象相关联。

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

这是我的问题:维基是针对 0.9.3 的。但是此方法在 0.10.1 中已弃用。是的,它仍然有效 - 目前。

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

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

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

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

最新更新