यहां UIImageView से ली गई एक कक्षा है जिसका मैं उपयोग करता हूं, शायद यह आपकी मदद करेगा। (! वास्तव में मैं इस मैं क्या उपयोग से एक निष्पक्ष बिट सरल बना दिया है, लेकिन यह आप के लिए क्या पूछा था)
हैडर फ़ाइल, UIHTTPImageView.h:
#import "ASIHTTPRequest.h"
@interface UIHTTPImageView : UIImageView {
ASIHTTPRequest *request;
}
- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder;
@end
और UIHTTPImageView.m:
#import "UIHTTPImageView.h"
@implementation UIHTTPImageView
- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder {
[request setDelegate:nil];
[request cancel];
[request release];
request = [[ASIHTTPRequest requestWithURL:url] retain];
[request setCacheStoragePolicy:ASICachePermanentlyCacheStoragePolicy];
if (placeholder)
self.image = placeholder;
[request setDelegate:self];
[request startAsynchronous];
}
- (void)dealloc {
[request setDelegate:nil];
[request cancel];
[request release];
[super dealloc];
}
- (void)requestFinished:(ASIHTTPRequest *)req
{
if (request.responseStatusCode != 200)
return;
self.image = [UIImage imageWithData:request.responseData];
}
@end
ऐसा लगता है कि मैं वास्तव में क्या देख रहा हूं। मेरे पास एक प्रश्न है हालांकि: चूंकि यह "नेटवर्क कतार" का उपयोग नहीं कर रहा है, यदि तालिका में पंक्तियों की संख्या वास्तव में बड़ी है, तो क्या यह अधिभारित नहीं होगी? –
यह ASIHTTPRequest की साझा कतार का उपयोग कर रहा है, जो डिफ़ॉल्ट रूप से 8 समवर्ती डाउनलोड करेगा। आप इसे [[ASIHTTPRequest SharedQueue] setMaxConcurrentOperations: 2] जैसे कुछ के साथ कम कर सकते हैं। (नोट: गिट, v1.7 से पहले asihttprequest के नवीनतम संस्करण की आवश्यकता है और पहले साझाक्यू का पर्दाफाश नहीं करते हैं।) – JosephH
आपकी मदद के लिए धन्यवाद! आपके जैसे लोग StackOverflow कमाल बनाते हैं! –