サーバーから返される 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}
任意のヒント?