Je suis en train de mettre en œuvre le chargement d'image asynchrone dans UITableView
, Si je fais défiler les lignes rapidement mon application se bloque en raison du message envoyé à zombie ... Qu'est-ce qui ne va pas, je fais ici?Zombie tue mon application
//loading image from URL
-(void)loadImageFromURL:(NSURL*)url {
if (connection!=nil) { [connection release]; }
//data is NSMutableData
if (data!=nil) { [data release]; }
NSURLRequest* request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
}
//Append received data when it is received
- (void)connection:(NSURLConnection *)theConnection didReceiveData:(NSData *)incrementalData {
if (data==nil) { data = [[NSMutableData alloc] init]; }
[data appendData:incrementalData]; //Message sent to zombie, app CRASHES HERE
}
//When finished
- (void)connectionDidFinishLoading:(NSURLConnection*)theConnection {
//so self data now has the complete image
[connection release];
connection=nil;
//Use received data to construct image
[data release];
data=nil;
}
Étant donné que votre application se bloque lors du défilement, il peut être utile de voir le code de ce qui se passe dans 'tableView: cellForRowAtIndexPath:' – bosmacs
Est-ce que "data" est un NSData ou un NSMutableData? –
@Evan il est 'NSMutableData' –