2013-06-20 11 views
5

रद्द मैं SDWebimage उपयोग कर रहा हूँ मेरी tablkeview पर छवियों को लोड मैं this ट्यूटोरियलSDWebImage डाउनलोड

अब मैं एक समस्या पर अटक अनुसरण कर रहा हूं, अगर मैं नीचे स्क्रॉल करें और वापस हिट करने के लिए इससे पहले कि छवियों लोड हो एप्लिकेशन crashes.How मिला क्या मैं इसे हल कर सकता हूं?

एसडीवेब इमेज डाउनलोड को कैसे रद्द करें। मैं कुछ जवाब दिया गया है और उनमें से कोई भी discussions.But मुझे मदद की और उन्हें

उपयोग नहीं कर सका कृपया मेरी मदद करो

मैं

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

यू इसे हल? या .... –

उत्तर

12

उपयोग कर रहा हूँ अपने सेल में, आप रद्द कर सकते हैं छवि लोड अगर यह फिर से उपयोग किया जा रहा है। अपने UITableViewCell उपवर्ग में निम्नलिखित जोड़ें:

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

रूप में अच्छी तरह #import "UIImageView+WebCache.h" करना सुनिश्चित करें।

हालांकि आपका ऐप क्रैश नहीं हो रहा है, लेकिन मैं कुछ कोड देखे बिना आपकी मदद नहीं कर सकता, क्योंकि ऊपर दिए गए विवरण से क्रैश के कारण को इंगित करना संभव नहीं है।

+0

मैंने प्रश्न अपडेट किया और कुछ कोड जोड़ दिया, जैसा कि मैंने कहा था कि मैं इस ट्यूटोरियल का उपयोग कर रहा हूं ... http: //iosmadesimple.blogspot.com/2013/04/lazy-image-loading.html –

+0

कोड मैंने ऊपर प्रदान किया है इसे हल करना चाहिए, क्या आपने इसे आजमाया? मुझे लगता है कि आपका दुर्घटना कुछ अलग से संबंधित है। क्रैश विवरण क्या है? – runmad

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

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

रखें कोड की इस पंक्ति है जब आपके SDWebImage पहले से ही भरी हुई है:

[self.imageView cancelCurrentImageLoad]; 
संबंधित मुद्दे