mirror of
https://github.com/zhigang1992/RestKit.git
synced 2026-04-05 22:40:21 +08:00
Other changes include: * Eliminated the RKObjectFactory protocol and implementations. Object mapping instances themselves are now responsible for instantiating target objects for mapping. * Introduced RKObjectAbstractMapping superclass for RKObjectMapping and RKObjectPolymorphicMapping. * Updated example applications to use block object loaders (RKTwitter and RKTwitterCoreData) * Refactored method signatures of RKObjectMapper, RKObjectMapping, and RKObjectMappingProvider to reflect the existence of abstract mapping types. This was necessary to make polymorphic mappings integrate cleanly. * Fixed overlap in RestKit error domains between network and object mapping. fixes #208
40 lines
1.4 KiB
Objective-C
40 lines
1.4 KiB
Objective-C
//
|
|
// RKObjectRelationshipMapping.m
|
|
// RestKit
|
|
//
|
|
// Created by Blake Watters on 5/4/11.
|
|
// Copyright 2011 Two Toasters. All rights reserved.
|
|
//
|
|
|
|
#import "RKObjectRelationshipMapping.h"
|
|
|
|
@implementation RKObjectRelationshipMapping
|
|
|
|
@synthesize mapping = _mapping;
|
|
@synthesize reversible = _reversible;
|
|
|
|
+ (RKObjectRelationshipMapping*)mappingFromKeyPath:(NSString*)sourceKeyPath toKeyPath:(NSString*)destinationKeyPath withMapping:(RKObjectAbstractMapping*)objectOrPolymorphicMapping reversible:(BOOL)reversible {
|
|
RKObjectRelationshipMapping* relationshipMapping = (RKObjectRelationshipMapping*) [self mappingFromKeyPath:sourceKeyPath toKeyPath:destinationKeyPath];
|
|
relationshipMapping.reversible = reversible;
|
|
relationshipMapping.mapping = objectOrPolymorphicMapping;
|
|
return relationshipMapping;
|
|
}
|
|
|
|
+ (RKObjectRelationshipMapping*)mappingFromKeyPath:(NSString*)sourceKeyPath toKeyPath:(NSString*)destinationKeyPath withMapping:(RKObjectAbstractMapping*)objectOrPolymorphicMapping {
|
|
return [self mappingFromKeyPath:sourceKeyPath toKeyPath:destinationKeyPath withMapping:objectOrPolymorphicMapping reversible:YES];
|
|
}
|
|
|
|
- (id)copyWithZone:(NSZone *)zone {
|
|
RKObjectRelationshipMapping* copy = [super copyWithZone:zone];
|
|
copy.mapping = self.mapping;
|
|
copy.reversible = self.reversible;
|
|
return copy;
|
|
}
|
|
|
|
- (void)dealloc {
|
|
[_mapping release];
|
|
[super dealloc];
|
|
}
|
|
|
|
@end
|