Objective c NSURLConnect仅工作1次

Objective c NSURLConnect仅工作1次,objective-c,xcode,Objective C,Xcode,我正在尝试做一个请求,但它只在第一次工作 这是我的密码: NSArray *infos = [rows objectAtIndex:indexPath.row]; NSString *thumbPath = thePath; NSURLRequest *thumbRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:thumbPath]cachePolicy:NSURLRequestUseProtocolCachePolicy

我正在尝试做一个请求,但它只在第一次工作

这是我的密码:

NSArray *infos = [rows objectAtIndex:indexPath.row];
NSString *thumbPath = thePath;

NSURLRequest *thumbRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:thumbPath]cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];

self->thumbConnection = [[NSURLConnection alloc] initWithRequest:thumbRequest
                                                        delegate:self
                                                startImmediately:YES];

     self->thumbData = [[NSMutableData alloc]init];
何时收到响应

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {

if (self->thumbData == nil) {
    self->thumbData = [[NSMutableData alloc]init];
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {

self.thumbImage.image = [UIImage imageWithData:self->thumbData];

self.thumbActivityView.hidden = YES;

self->thumbData = nil;
}
下载完成时: -(无效)连接IDFinishLoading:(NSURLConnection*)连接{

self.thumbImage.image = [UIImage imageWithData:self->thumbData];

self.thumbActivityView.hidden = YES;

[self->thumbData release];

self->thumbData = nil;
}

当超时或其他错误发生时,请使用以下方法:

   - (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
[self->thumbData release];
self->thumbData = nil;
self.thumbActivityView.hidden = YES;
[thumbConnection release];
self->thumbConnection = nil;

}

如果它不是零,就不要再分配它。最好还是在对象的init方法中分配它,并在对象的dealloc方法中释放它

第二次或第三次会发生什么?我可以在那里看到一个
release
调用,所以它看起来像MRR。但是,您似乎并没有发布所有您
alloc
的内容。这可能就是问题所在。您是否每次都需要分配一个新的连接,或者是否可以重新使用现有的连接(如果有)?我不知道,但我怀疑您可以重新使用现有的请求。我需要在连接中执行一个新请求。如果它是非
nil
,请不要再次分配它。最好还是在对象的
init
方法中分配它,并在对象的
dealloc
方法中释放它。