Skip to content

Commit

Permalink
using attributeDict to set the properties instead of a loop.
Browse files Browse the repository at this point in the history
  • Loading branch information
Igor Sutton committed Dec 16, 2011
1 parent 1306b56 commit b764520
Showing 1 changed file with 2 additions and 23 deletions.
25 changes: 2 additions & 23 deletions TKTumblelogsRequest.m
Expand Up @@ -41,31 +41,10 @@ - (void)dealloc;


- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict - (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{ {
static NSDictionary *elementToSelectorDict = nil;

if (!elementToSelectorDict) {
elementToSelectorDict = [[NSDictionary alloc] initWithObjectsAndKeys:
@"setTitle:", @"title",
@"setName:",@"name",
@"setURLWithString:", @"url",
@"setAvatarURLWithString:", @"avatar-url",
@"setPrimaryWithString:", @"is-primary",
@"setTypeWithString:", @"type",
nil];
}

_currentElementName = elementName; _currentElementName = elementName;


if ([elementName isEqualToString:@"tumblelog"]) { if ([elementName isEqualToString:@"tumblelog"])
_currentTumblelog = [[TKTumblelog alloc] init]; _currentTumblelog = [[TKTumblelog alloc] initWithAttributes:attributeDict];

for (NSString *key in [attributeDict keyEnumerator]) {
SEL selector = NSSelectorFromString([elementToSelectorDict objectForKey:key]);
if (selector && [_currentTumblelog respondsToSelector:selector]) {
[_currentTumblelog performSelector:selector withObject:[attributeDict objectForKey:key]];
}
}
}
} }


- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName - (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
Expand Down

0 comments on commit b764520

Please sign in to comment.