2

いくつかのプレーンなプロパティを持つ非常に単純なマッピングを定義しましたが、サーバー上のデータ構造がツリーであるという問題が発生したため、いくつかのプロパティを含む「CustomObject」のリストと「CustomObject」のリストを取得します" どれの ...

したがって、コードでは次のようになります(簡略化)

+ (RKObjectMapping*)getCustomObjectMapping
{
    RKObjectMapping* customObjectMapping = [RKObjectMapping mappingForClass:[CustomObject class]];
    [customObjectMapping mapKeyPath:@"title" toAttribute:@"title"];
    [..]

    // Define the relationship mapping
    //[customObjectMapping mapKeyPath:@"nextLevel" toRelationship:@"nexLevel" withMapping:[self getCustomObjectMapping]];

    return customObjectMapping;
}

これは明らかに無限の再帰をもたらします。

このマッピングを行うための賢い方法はありますか?

4

1 に答える 1

7

これは非常にシンプルで、最近の RestKit ライブラリでは問題なくサポートされています。+getCustomObjectMapping を再帰的に参照する代わりに、作成中のマッピング オブジェクトを参照する必要があります。これを行う必要がある方法は次のとおりです。

+ (RKObjectMapping*)getCustomObjectMapping
{
    RKObjectMapping* customObjectMapping = [RKObjectMapping mappingForClass:[CustomObject class]];
    [customObjectMapping mapKeyPath:@"title" toAttribute:@"title"];
    [..]

    // Define the relationship mapping
    [customObjectMapping mapKeyPath:@"nextLevel" toRelationship:@"nexLevel" withMapping:customObjectMapping];

    return customObjectMapping;
}
于 2013-04-12T21:03:14.883 に答える