1
В настоящее время у меня есть этот код, но он протекает, потому что я не знаю, как много раз выпускать объект парсера, так что мне нужна помощь в управлении памятью или какой-то другой способ подачи нескольких каналов с этим.Несколько каналов с MWFeedParser, помощь с кодом
Код:
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];
}
И initWithFeedUrl из MWFeedParser код:
- (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;
}
Нравится? http://pastebin.com/YuH7b9hB – vburojevic
Да, точно так же :) Не забудьте удалить строку '[feedParser release';' строка из вашего 'dealloc' или вы создадите сбой. –
Хорошо, кажется, утечек нет! :) Но еще одна проблема, когда таблица пуста (без фидов), и когда я нажимаю кнопку «Обновить», приложение вылетает, как это решить? Это из-за [releaseParser release]; потому что он не существует, я думаю? – vburojevic