Ниже приведен сценарий.Как я могу ошибиться при использовании NSURLConnection?
Я сделал два контроллера, TableViewController, B viewController и C ScrollView. TableViewController имеет ячейку, которая входит в B viewController. и B viewController имеет C scrollView, это вид спереди B.
C scrollView имеет объект NSURLConnection. , и это работает для загрузки изображения.
(А -> pushViewController -> В (есть C) -> (процесс С NSURLConnection после начала))
Если я отклонить C Scrollview во время загрузки изображения, произойти ошибка !! (после завершения загрузки) Потому что, когда B scrollViewController уволен, объект C освобождается. Итак, после подключения «didFinished», а не для поиска делегата C (после вызова метода didFinished, метод объекта B).
вот часть кода C.
- (void)downloadScreenshotWithURLString:(NSString *)aURLString {
AsyncImageViewDownload* download; // AsyncImageViewDownload has NSURLConnection
download = [[AsyncImageViewDownload alloc] initWithURL:aURLString delegate:self selector:@selector(urlDownload:data:error:)];
[[self operationQueue] addOperation:download];
[download release];
}
// After download.
- (void)urlDownload:(AsyncImageView *)aDownload data:(NSData *)data error:(NSError *)error {
if (data)
{
// add ImageData to the front view.
[self displayScreenshot:data];
}
else
{
NSLog(@"download error: %@", error);
}
}
и dealloc метод B здесь.
- (void)dealloc {
[C release];
C = nil;
[super dealloc];
}
Как я могу ошибиться? Пожалуйста, помогите мне ...