0

サーバーから返される JSON ペイロードがあり、次のように構成されています。

{"users":[users]}

シンプルな RKObjectMapping と RKResponseDescriptor を使用して、getObjectsAtPath を使用すると、この JSON をユーザー オブジェクトのコレクションに正常にマップできますが、JSON サーバー側を少し変更したいと思います。つまり、キーパスを追加したい

{"users":[users], "more":true}

ここで、キーパス「more」は、「users」配列に含まれていないロードするユーザーが他にいるかどうかを示します。私が抱えている問題は、この「より多くの」キーパスの値にアクセスする簡単な方法が見つからないことです。理想的には、"more" を BOOL (または NSNumber) にマップするマッピングおよび応答記述子を定義したいのですが、これを行う方法がわかりません。のようなマッピングを追加する

RKObjectMapping *moreMapping = [RKObjectMapping mappingForClass:[NSNumber class]]

ResponseDescriptor を使用

[RKResponseDescriptor responseDescriptorWithMapping:moreMapping pathPattern:pathPattern
keyPath:@"more" statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];

トリックをしません。最終的に、getObjects の成功ブロックで、RKMappingResult を次のように構成したいと思います。

@{@"users":[users], @"more":1}

任意のヒント?

4

1 に答える 1