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 の後半に、「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 に答える