mirror of
https://github.com/zhigang1992/RestKit.git
synced 2026-04-23 12:27:52 +08:00
Updated polymorphic mapping to use valueForKeyPath. Slight updates to the documentation. refs #105
This commit is contained in:
@@ -86,10 +86,10 @@ typedef RKObjectMapping*(^RKObjectPolymorphicMappingDelegateBlock)(id);
|
||||
is 'female' we want to use the Girl class. We might define our polymorphic mapping like so:
|
||||
|
||||
RKObjectPolymorphicMapping* mapping = [RKObjectPolymorphicMapping polymorphicMapping];
|
||||
[mapping setObjectMapping:boyMapping whenValueOfKey:@"gender" isEqualTo:@"male"];
|
||||
[mapping setObjectMapping:boyMapping whenValueOfKey:@"gender" isEqualTo:@"female"];
|
||||
[mapping setObjectMapping:boyMapping whenValueOfKeyPath:@"gender" isEqualTo:@"male"];
|
||||
[mapping setObjectMapping:boyMapping whenValueOfKeyPath:@"gender" isEqualTo:@"female"];
|
||||
*/
|
||||
- (void)setObjectMapping:(RKObjectMapping*)objectMapping whenValueOfKey:(NSString*)key isEqualTo:(id)value;
|
||||
- (void)setObjectMapping:(RKObjectMapping*)objectMapping whenValueOfKeyPath:(NSString*)key isEqualTo:(id)value;
|
||||
|
||||
/**
|
||||
Invoked by the RKObjectMapper and RKObjectMappingOperation to determine the appropriate RKObjectMapping to use
|
||||
|
||||
@@ -52,7 +52,7 @@ BOOL RKObjectIsValueEqualToValue(id sourceValue, id destinationValue);
|
||||
}
|
||||
|
||||
- (BOOL)isMatchForData:(id)data {
|
||||
return RKObjectIsValueEqualToValue([data valueForKey:_key], _value);
|
||||
return RKObjectIsValueEqualToValue([data valueForKeyPath:_key], _value);
|
||||
}
|
||||
|
||||
- (NSString*)matchDescription {
|
||||
@@ -97,7 +97,7 @@ BOOL RKObjectIsValueEqualToValue(id sourceValue, id destinationValue);
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
- (void)setObjectMapping:(RKObjectMapping*)objectMapping whenValueOfKey:(NSString*)key isEqualTo:(id)value {
|
||||
- (void)setObjectMapping:(RKObjectMapping*)objectMapping whenValueOfKeyPath:(NSString*)key isEqualTo:(id)value {
|
||||
RKLogDebug(@"Adding dynamic object mapping for key '%@' with value '%@' to destination class: %@", key, value, NSStringFromClass(objectMapping.objectClass));
|
||||
RKObjectPolymorphicMappingMatcher* matcher = [[RKObjectPolymorphicMappingMatcher alloc] initWithKey:key value:value objectMapping:objectMapping];
|
||||
[_matchers addObject:matcher];
|
||||
|
||||
Reference in New Issue
Block a user