6

私のコアデータプロジェクトでは、宛先もUserエンティティであるfollowers/関係を持つエンティティがあります。followingUser

特定の情報を取得するには、次のuser構造でエンドポイントを呼び出します:user/:id/followers/followingユーザーを取得するには、次のように呼び出します:/user/:id/followers

に次のルートを追加しましたRKObjectManager

[manager.router.routeSet addRoute:[RKRoute routeWithRelationshipName:@"followers" objectClass:[User class] pathPattern:@"user/:id/followers" method:RKRequestMethodGET]];

[manager.router.routeSet addRoute:[RKRoute routeWithRelationshipName:@"following" objectClass:[User class] pathPattern:@"user/:id/following" method:RKRequestMethodGET]];

次に、次のように呼び出します。

[[RKObjectManager sharedManager] getObjectsAtPathForRelationship:@"followers" ofObject:user parameters:nil success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
    
} failure:^(RKObjectRequestOperation *operation, NSError *error) {
    
}];

しかし、RestKit はマッピングを実行できません。エンティティのRKEntityMappingに関係情報を追加していないと思います。User私はさまざまなアプローチを試みましたが、成功したものはありません。この問題について何か助けていただければ幸いです。

アップデート

ユーザー エンティティのマッピングは次のとおりです。

RKEntityMapping *userMapping = [RKEntityMapping mappingForEntityForName:@"User" inManagedObjectStore:managedObjectStore];
    [userMapping addAttributeMappingsFromDictionary:@{
     @"id":                 @"id",
     @"name":               @"name",
     @"user_name":          @"username"}];

そして説明:

[RKResponseDescriptor responseDescriptorWithMapping:userMapping
                                                  method:RKRequestMethodGET
                                             pathPattern:@"user/:id/followers"
                                                 keyPath:nil
                      statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)]

参照しているフォロワー/フォローに何かを追加する必要があると思いuserMappingますが、まだ理解できていません。ありがとう。

4

1 に答える 1

1

これは RestKit の制限/バグのようです。RestKit github ページの問題リストでこれを上げたいと思うかもしれません。

mappingResult最も簡単な修正方法は、とソースuserオブジェクトで提供される項目を使用して、成功ブロックで関係を接続することです。

于 2013-10-04T12:58:25.360 に答える