From 784c9fcee65f1c1296f613cd7e45c93633dc40f1 Mon Sep 17 00:00:00 2001 From: Bradley Smith Date: Tue, 15 Dec 2015 00:10:30 -0500 Subject: [PATCH 1/2] Added categories --- RSSParser/RSSItem.h | 1 + RSSParser/RSSItem.m | 2 ++ RSSParser/RSSParser.m | 8 ++++++++ 3 files changed, 11 insertions(+) diff --git a/RSSParser/RSSItem.h b/RSSParser/RSSItem.h index e6d441f..9624176 100644 --- a/RSSParser/RSSItem.h +++ b/RSSParser/RSSItem.h @@ -20,6 +20,7 @@ @property (strong,nonatomic) NSDate *pubDate; @property (strong,nonatomic) NSString *author; @property (strong,nonatomic) NSString *guid; +@property (strong,nonatomic) NSSet *categories; -(NSArray *)imagesFromItemDescription; -(NSArray *)imagesFromContent; diff --git a/RSSParser/RSSItem.m b/RSSParser/RSSItem.m index 51522b8..146849e 100644 --- a/RSSParser/RSSItem.m +++ b/RSSParser/RSSItem.m @@ -72,6 +72,7 @@ - (id)initWithCoder:(NSCoder *)aDecoder _pubDate = [aDecoder decodeObjectForKey:@"pubDate"]; _author = [aDecoder decodeObjectForKey:@"author"]; _guid = [aDecoder decodeObjectForKey:@"guid"]; + _categories = [aDecoder decodeObjectForKey:@"categories"]; } return self; } @@ -88,6 +89,7 @@ - (void)encodeWithCoder:(NSCoder *)aCoder [aCoder encodeObject:self.pubDate forKey:@"pubDate"]; [aCoder encodeObject:self.author forKey:@"author"]; [aCoder encodeObject:self.guid forKey:@"guid"]; + [aCoder encodeObject:self.categories forKey:@"categories"]; } #pragma mark - diff --git a/RSSParser/RSSParser.m b/RSSParser/RSSParser.m index 09003c6..ff3df07 100644 --- a/RSSParser/RSSParser.m +++ b/RSSParser/RSSParser.m @@ -109,6 +109,14 @@ - (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName names [currentItem setAuthor:tmpString]; } else if ([elementName isEqualToString:@"guid"]) { [currentItem setGuid:tmpString]; + } else if ([elementName isEqualToString:@"category"]) { + NSMutableSet *mutableSet = [currentItem.categories mutableCopy]; + if (!mutableSet) { + mutableSet = [NSMutableSet set]; + } + + [mutableSet addObject:tmpString]; + currentItem.categories = [mutableSet copy]; } // sometimes the URL is inside enclosure element, not in link. Reference: http://www.w3schools.com/rss/rss_tag_enclosure.asp From 4938eaa1eb7c88d7a4d376f31e37b808ae957e15 Mon Sep 17 00:00:00 2001 From: Bradley Smith Date: Tue, 15 Dec 2015 00:21:52 -0500 Subject: [PATCH 2/2] trim string --- RSSParser/RSSParser.m | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/RSSParser/RSSParser.m b/RSSParser/RSSParser.m index ff3df07..f232261 100644 --- a/RSSParser/RSSParser.m +++ b/RSSParser/RSSParser.m @@ -115,7 +115,8 @@ - (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName names mutableSet = [NSMutableSet set]; } - [mutableSet addObject:tmpString]; + NSString *string = [tmpString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; + [mutableSet addObject:string]; currentItem.categories = [mutableSet copy]; }