Я думаю, что модель предметной области должна быть единственной, кто должен знать о сопоставлении.Вот как я сопоставляю некоторые flickr json:
Я вызываю сопоставления, когда они вам нужны (можно в AppDelegate или где угодно)
// Setup our object mappings
RKObjectMapping *photoMapping = [Photo mapWithMapping:nil];
RKObjectMapping *photosMapping = [Photos mapWithMapping:photoMapping];
И это одна из моих областейobjects: содержит classMethod, выполняющий сопоставление.
#import "Photos.h"
@implementation Photos
+ (RKObjectMapping*)mapWithMapping: (RKObjectMapping*)aMapping
{
RKObjectManager *objectManager = [RKObjectManager sharedManager];
RKManagedObjectMapping *mapping = [RKManagedObjectMapping mappingForClass:[self class] inManagedObjectStore:objectManager.objectStore];
[mapping mapKeyPathsToAttributes:
@"page", @"page",
@"pages", @"pages",
@"perpage", @"perpage",
@"stat", @"stat",
@"total", @"total",
nil];
if (aMapping) {
[mapping mapRelationship:@"photo" withMapping:aMapping];
}
return mapping;
}
@end