I currently have this code but it leaks because I don’t know how to release feed parser object this many times, so I need help with memory management or some other way to feed multiple feeds with it.
Code:
for (NSString *imePredmeta in [Data variables].mojiPredmeti) {
NSString *link = [[Data variables].rss objectForKey: imePredmeta];
NSURL *feedURL = [NSURL URLWithString: link];
feedParser = [[MWFeedParser alloc] initWithFeedURL:feedURL];
feedParser.delegate = self;
feedParser.feedParseType = ParseTypeFull; // Parse feed info and all items
feedParser.connectionType = ConnectionTypeAsynchronously;
[feedParser parse];
}
Dealloc:
- (void)dealloc {
[formatter release];
[parsedItems release];
[itemsToDisplay release];
[feedParser release];
[super dealloc];
}
And initWithFeedUrl from MWFeedParser code is:
- (id)initWithFeedURL:(NSURL *)feedURL {
if ((self = [self init])) {
// Check if an string was passed as old init asked for NSString not NSURL
if ([feedURL isKindOfClass:[NSString class]]) {
feedURL = [NSURL URLWithString:(NSString *)feedURL];
}
// Remember url
self.url = feedURL;
}
return self;
}
The best way would be to add them to an array, and then in
deallocrelease that array.