奇妙な問題。Webから画像をロードしたいので、NSURLConnectionを使用してロードします。iOS4.3でコードをテストするときは、すべて問題ありません。しかし、iOS5.0でアプリを起動すると、connection:didreceiveDataが何をしても呼び出されていないことがわかりました。その他の関数は、ios4.3のconnectionDidFinishLoadingやios5.0のconnectionDidFinishDownloadingと同様に、通常は呼び出されます。だから私を助けることができる皆さん、ありがとうございました!
-(void)load
{
if(isDownloading){
return;
}
if(conn != nil){
[conn release];
}
if(data != nil){
[data release];
data = nil;
}
[self isDownloading:YES];
ImageDownloadData* imageDownloadData = [imageList objectAtIndex:count];
NSURL* url = [imageDownloadData url];
NSURLRequest* request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
conn = [[NSURLConnection alloc] initWithRequest:request delegate:self];
if(conn){
[conn start];
}
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)rd
{
NSLog(@"data");
if(!data){
data = [[NSMutableData alloc] initWithData:rd];
return;
}
[data appendData:rd];
}