0

以下のタラのように、異なるエンティティ マッピングに使用される共通の RKObjectManager を使用しましたが、特定のエンティティのマッピングを作成しようとすると、同じ keyPath を持つエンティティが 2 つあるため、この問題をどのように把握できるかがわかりませんでした。

   // Search  mapping ...
RKEntityMapping *searchEntityMapping = [RKEntityMapping mappingForEntityForName:NSStringFromClass([ABB class]) inManagedObjectStore: aBBManager.managedObjectStore];

[searchInfoEntityMapping addAttributeMappingsFromDictionary:@{
 @"count" : @"count",
 @"total_count" : @"totalCount",

 }];


 // Search Advanced  mapping ...
RKEntityMapping *searchAdvEntityMapping = [RKEntityMapping mappingForEntityForName:NSStringFromClass([ABB class]) inManagedObjectStore: aBBManager.managedObjectStore];

[searchAdvEntityMapping addAttributeMappingsFromDictionary:@{
 @"count" : @"count",
 @"data" : @"dataCount",

 }];

// Search  Descriptor
RKResponseDescriptor *aBBResponseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:searchEntityMapping pathPattern:nil keyPath:@"locations" statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];


 // Search Adv Descriptor
 RKResponseDescriptor *aBB2ResponseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:searchAdvEntityMapping pathPattern:nil keyPath:@"locations" statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];
4

1 に答える 1

3

このpathPatternパラメーターを使用して、特定のリクエストを行うときに使用する応答記述子を RestKit が認識できるようにする必要があります (エンティティごとに URL で異なるパスを使用する必要があるため)。

何らかの理由でそれができない場合は、 の複数のインスタンスを作成し、作成するRKObjectManagerさまざまな要求ごとに適切なインスタンスを使用する必要があります。

于 2013-10-28T13:18:25.167 に答える