Ответ 1
Чтобы ответить на ваш вопрос, похоже, что вам нужно выполнить оба действия на данный момент. Здесь код из RKDiscussionBoardExample включен в библиотеку:
DBTopic* topic = [[DBTopic findFirstByAttribute:@"topicID" withValue:topicID] retain];
_post = [[DBPost object] retain];
_post.topicID = topic.topicID;
_post.topic = topic;
Таким образом, либо отношения не настроены должным образом в примере, либо вам действительно нужны оба этапа.
Кроме того, вы должны использовать новейшую версию RestKit, которая имеет другой объект mapper и обесценивает RKManagedObject. Ваши отношения должны выглядеть примерно так:
RKManagedObjectMapping* clientMapping = [RKManagedObjectMapping mappingForClass: [Client class]];
clientMapping.primaryKeyAttribute = @"clientID";
[clientMapping mapKeyPathsToAttributes:
@"id", @"clientID",
nil];
RKManagedObjectMapping* userFileMapping = [RKManagedObjectMapping mappingForClass:[UserFile class]];
userFileMapping.primaryKeyAttribute = @"userFileID";
[userFileMapping mapKeyPathsToAttributes:
@"id", @"userFileID",
@"client_id", @"clientID",
nil];
[userFileMapping mapRelationship:@"client" withObjectMapping:clientMapping];