2013-06-20 8 views
5

Używam SDWebimage załadować obrazy na moim tablkeview śledzę this tutorialuSDWebImage Anuluj pobieranie

Teraz zatrzymany na problem, Gdybym przewinąć w dół i trafić z powrotem przed obrazy ładowane aplikacja dostał crashes.How mogę to rozwiązać?

Jak anulować pobieranie SDWebImage. I już przez niektóre odpowiedzi i discussions.But żaden z nich nie pomógł mi i nie mógł z nich korzystać

Proszę mi pomóc

Używam

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

U go rozwiązać? Lub .... –

Odpowiedz

12

w komórce, można anulować ładowanie obrazu, jeśli zostanie ponownie wykorzystane. W swojej UITableViewCell podklasy dodać następujące:

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

Koniecznie #import "UIImageView+WebCache.h" również.

Chociaż aplikacja nie powinna się zawieszać, ale nie mogę Ci pomóc bez wyświetlenia kodu, ponieważ nie da się wskazać przyczyny awarii z powyższego opisu.

+0

Zaktualizowałem pytanie i dodałem kod, ponieważ powiedziałem, że używam tego samouczka ... http: //iosmadesimple.blogspot.com/2013/04/lazy-image-loading.html –

+0

Kod Podane powyżej powinno rozwiązać problem, czy próbowałeś? Myślę, że twoja awaria wiąże się z czymś innym. Co to jest opis awarii? – runmad

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

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

umieścić ten wiersz kodu, gdy Twój SDWebImage jest już załadowany:

[self.imageView cancelCurrentImageLoad];