Refactoring image request operation

This commit is contained in:
Mattt Thompson 2011-10-10 13:06:12 -05:00
parent 3e27e189ee
commit b7724922c4
2 changed files with 6 additions and 7 deletions

View file

@ -81,7 +81,6 @@ static dispatch_queue_t image_request_operation_processing_queue() {
if (success) { if (success) {
dispatch_async(dispatch_get_main_queue(), ^(void) { dispatch_async(dispatch_get_main_queue(), ^(void) {
success(operation.request, operation.response, image); success(operation.request, operation.response, image);
}); });
} }
@ -90,7 +89,7 @@ static dispatch_queue_t image_request_operation_processing_queue() {
[[AFImageCache sharedImageCache] cacheImage:image forURL:[operation.request URL] cacheName:cacheNameOrNil]; [[AFImageCache sharedImageCache] cacheImage:image forURL:[operation.request URL] cacheName:cacheNameOrNil];
} }
} }
}); });
}; };
return operation; return operation;

View file

@ -27,7 +27,7 @@
#import "AFImageCache.h" #import "AFImageCache.h"
static NSString * const kAFImageRequestOperationObjectKey = @"_af_imageRequestOperation"; static char kAFImageRequestOperationObjectKey;
@interface UIImageView (_AFNetworking) @interface UIImageView (_AFNetworking)
@property (readwrite, nonatomic, retain, setter = af_setImageRequestOperation:) AFImageRequestOperation *af_imageRequestOperation; @property (readwrite, nonatomic, retain, setter = af_setImageRequestOperation:) AFImageRequestOperation *af_imageRequestOperation;
@ -42,11 +42,11 @@ static NSString * const kAFImageRequestOperationObjectKey = @"_af_imageRequestOp
@implementation UIImageView (AFNetworking) @implementation UIImageView (AFNetworking)
- (AFHTTPRequestOperation *)af_imageRequestOperation { - (AFHTTPRequestOperation *)af_imageRequestOperation {
return (AFHTTPRequestOperation *)objc_getAssociatedObject(self, kAFImageRequestOperationObjectKey); return (AFHTTPRequestOperation *)objc_getAssociatedObject(self, &kAFImageRequestOperationObjectKey);
} }
- (void)af_setImageRequestOperation:(AFImageRequestOperation *)imageRequestOperation { - (void)af_setImageRequestOperation:(AFImageRequestOperation *)imageRequestOperation {
objc_setAssociatedObject(self, kAFImageRequestOperationObjectKey, imageRequestOperation, OBJC_ASSOCIATION_RETAIN_NONATOMIC); objc_setAssociatedObject(self, &kAFImageRequestOperationObjectKey, imageRequestOperation, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
} }
+ (NSOperationQueue *)af_sharedImageRequestOperationQueue { + (NSOperationQueue *)af_sharedImageRequestOperationQueue {
@ -97,7 +97,7 @@ static NSString * const kAFImageRequestOperationObjectKey = @"_af_imageRequestOp
} else { } else {
self.image = placeholderImage; self.image = placeholderImage;
self.af_imageRequestOperation = [AFImageRequestOperation imageRequestOperationWithRequest:urlRequest imageProcessingBlock:nil cacheName:nil success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) { self.af_imageRequestOperation = [AFImageRequestOperation imageRequestOperationWithRequest:urlRequest imageProcessingBlock:nil cacheName:nil success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) {
if (self.af_imageRequestOperation && ![self.af_imageRequestOperation isCancelled]) { if (self.af_imageRequestOperation && ![self.af_imageRequestOperation isCancelled]) {
if (success) { if (success) {
success(request, response, image); success(request, response, image);
@ -108,7 +108,7 @@ static NSString * const kAFImageRequestOperationObjectKey = @"_af_imageRequestOp
} else { } else {
self.image = placeholderImage; self.image = placeholderImage;
} }
} }
} failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) { } failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) {
self.af_imageRequestOperation = nil; self.af_imageRequestOperation = nil;