2012-06-13 255 views
1

我正在嘗試將RestKit集成到我當前的項目中。 我檢索數據的格式:RestKit非kvc對象映射

[ 
    {"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維基後來,有一個解決我的問題的一部分:「映射沒有KVC」我會在加載時將objectMapping與對象關聯起來。

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

這是我的問題:維基是爲0.9.3。但是此方法在0.10.1中已棄用。是的,它現在仍然有效。

如果此方法已被棄用,並且記住,我沒有控制數據保持一致,是什麼在這種非KVC情況分配對象映射到一個類的適當方法?

+0

這裏的某個人可能對您有很好的回答,但在您等待的時候,我建議您通過https://groups.google.com/forum/#!forum/restkit –

回答

3

我不看好這個,但我相信它在支撐塊的過時......這可能工作:

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

而且,當然,使用塊來代替委託方法。

+0

在RestKit dev組搜索/張貼好點!我正在找到這個。 – jeswang

+0

謝謝!這確實是我正在尋找的。我需要更習慣使用塊... – weissazool

+0

那麼,但在0.20.0版本中,我們該如何做到這一點? – jeswang