2013-06-20 5 views
5

Sto usando SDWebimage per caricare immagini sul mio tablkeview Seguo this esercitazioneSDWebImage Annulla download

Ora ho bloccato su un problema, se ho scorrere verso il basso e colpire di nuovo prima che le immagini vengono caricate l'applicazione ha crashes.How posso risolvere questo?

Come annullare il download di SDWebImage. Ho passato con alcune risposte e discussions.But nessuno di loro mi ha aiutato e non poteva usarli

Please help me

Sto usando

[cell.UserImage setImageWithURL:[NSURL URLWithString:[SDWebArray objectAtIndex:indexPath.row]] placeholderImage:[UIImage imageNamed:@"Placeholder.png"]]; 
+0

U risolverlo? Oppure .... –

risposta

12

in cella, è possibile annullare la caricamento dell'immagine se verrà riutilizzato. Nella tua UITableViewCell sottoclasse aggiungere il seguente:

-(void)prepareForReuse { 
    [super prepareForReuse]; 
    [self.imageView cancelCurrentImageLoad]; // UIImageView for whatever image you need to cancel the loading for 
} 

Assicurarsi di #import "UIImageView+WebCache.h" pure.

Anche se la tua app non dovrebbe andare in crash, ma non posso aiutarti senza vedere del codice, dal momento che non è possibile individuare la causa del crash dalla tua descrizione precedente.

+0

Ho aggiornato la domanda e aggiunto del codice, come ho detto sto usando questo tutorial ... http: //iosmadesimple.blogspot.com/2013/04/lazy-image-loading.html –

+0

Il codice Ho fornito sopra dovrebbe risolvere, l'hai provato? Penso che il tuo incidente sia legato a qualcosa di diverso. Qual è la descrizione del crash? – runmad

0
- (void)cancelAll 
{ 
    for (SDWebImageDownloader *downloader in downloaders) { 
    [downloader cancel]; 
    } 
    [cacheDelegates removeAllObjects]; 
    [cacheURLs removeAllObjects]; 

    [downloadInfo removeAllObjects]; 
    [downloadDelegates removeAllObjects]; 
    [downloaders removeAllObjects]; 
    [downloaderForURL removeAllObjects]; 
} 
0

mettere questa riga di codice quando il SDWebImage è già caricato:

[self.imageView cancelCurrentImageLoad];