Я использую настраиваемые объекты делегатов для выполнения некоторых задач очистки после завершения запроса. ASIHTTPRequest не сохраняет делегатов, поэтому я не могу их автоматически выпустить. Прямо сейчас вот как я распределяю и освобождаю делегатов.
MyDelegate *delegate = [[MyDelegate alloc] init];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setDelegate:delegate];
- (void)requestFinished:(ASIHTTPRequest *)request
{
[self release];
}
- (void)requestFailed:(ASIHTTPRequest *)request
{
[self release];
}
Есть ли лучший способ сделать это? Самостоятельное освобождение делегатов кажется уродливым, а сборка и анализ Xcode чувствуют себя неуютно от того, что я делаю.