2

セッションに人々を参加させるために RKResponseDescriptor を作成しようとしています。

/sessions の応答記述子がありますが、セッション /sessions/20/people (/sessions/sessionID/people) 内の人々を取得するためにそれを作成する方法がわかりません。

私のセッション応答記述子は次のとおりです。

RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:sessionsMapping
                                                                                   pathPattern:@"/sessions"
                                                                                       keyPath:nil
                                                                                   statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];

セッション内の人々の応答記述子は次のとおりです。

RKResponseDescriptor *clientInSessionResponseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:clientsInSessionMapping
                                                                                   pathPattern:@"/sessions/:sessionID/people"
                                                                                       keyPath:nil
                                                                                   statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];

「エラーで失敗しました: ロードされた応答と一致する応答記述子がありません」というエラーが表示され続けます。

ドキュメントで :id の使用法がたくさんあることに気付きましたが、それを理解できないようです。また、RKPathMatcher を使用してパスを作成する必要がありますか?

どんな助けでも大歓迎です。

4

1 に答える 1

0

私が行ったのは、リクエストパスを送信する際のパラメーターの置換です。したがって、あなたの場合、私は次のことを行います:

NSString *idValue; // this is the sessionID value
NSString *path = [@"/sessions/:sessionID/people" stringByReplacingOccurrencesOfString:@":sessionID" withString:idValue];
[[RKObjectManager sharedManager] getObjectsAtPath:path parameters:nil success:^(RKObjectRequestOperation *operation,RKMappingResult *mappingResult) 
{
  // handle success
} failure:^(RKObjectRequestOperation *operation, NSError *error) {
    RKLogError(@"*** RK load FAIL");
}]
于 2013-03-08T20:01:00.067 に答える