我正在尝试将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情况下将对象映射分配给类的适当方法是什么?
答案 0 :(得分:3)
我对此并不乐观,但我相信它已被弃用以支持块......这可能有效:
[[RKObjectManager sharedManager] loadObjectsAtResourcePath:@"/data" usingBlock:^(RKObjectLoader* loader) {
[loader setObjectMapping:customerMapping];
}];
当然,使用块来替换委托方法。