Removing AFImageCache from public API, embedding it instead in UIImageView+AFNetworking implementation
This commit is contained in:
parent
cc49cd8d1c
commit
3ff5aafab7
8 changed files with 68 additions and 184 deletions
|
|
@ -1,76 +0,0 @@
|
||||||
// AFImageCache.h
|
|
||||||
//
|
|
||||||
// Copyright (c) 2011 Gowalla (http://gowalla.com/)
|
|
||||||
//
|
|
||||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
// of this software and associated documentation files (the "Software"), to deal
|
|
||||||
// in the Software without restriction, including without limitation the rights
|
|
||||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
// copies of the Software, and to permit persons to whom the Software is
|
|
||||||
// furnished to do so, subject to the following conditions:
|
|
||||||
//
|
|
||||||
// The above copyright notice and this permission notice shall be included in
|
|
||||||
// all copies or substantial portions of the Software.
|
|
||||||
//
|
|
||||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
||||||
// THE SOFTWARE.
|
|
||||||
|
|
||||||
#import <Foundation/Foundation.h>
|
|
||||||
#import "AFImageRequestOperation.h"
|
|
||||||
|
|
||||||
#import <Availability.h>
|
|
||||||
|
|
||||||
/**
|
|
||||||
`AFImageCache` is an `NSCache` that stores and retrieves images from cache.
|
|
||||||
|
|
||||||
@discussion `AFImageCache` is used to cache images for successful `AFImageRequestOperations` with the proper cache policy.
|
|
||||||
*/
|
|
||||||
@interface AFImageCache : NSCache
|
|
||||||
|
|
||||||
#if __IPHONE_OS_VERSION_MIN_REQUIRED
|
|
||||||
/**
|
|
||||||
The scale factor used when interpreting the cached image data. Specifying a scale factor of 1.0 results in an image whose size matches the pixel-based dimensions of the image. Applying a different scale factor changes the size of the image as reported by the size property. This is set to the value of `[[UIScreen mainScreen] scale]` by default, which automatically scales images for retina displays, for instance.
|
|
||||||
*/
|
|
||||||
@property (nonatomic, assign) CGFloat imageScale;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
Returns the shared image cache object for the system.
|
|
||||||
|
|
||||||
@return The systemwide image cache.
|
|
||||||
*/
|
|
||||||
+ (AFImageCache *)sharedImageCache;
|
|
||||||
|
|
||||||
/**
|
|
||||||
Returns the image associated with a given URL and cache name.
|
|
||||||
|
|
||||||
@param url The URL associated with the image in the cache.
|
|
||||||
@param cacheName The cache name associated with the image in the cache. This allows for multiple versions of an image to be associated for a single URL, such as image thumbnails, for instance.
|
|
||||||
|
|
||||||
@return The image associated with the URL and cache name, or `nil` if not image exists.
|
|
||||||
*/
|
|
||||||
#if __IPHONE_OS_VERSION_MIN_REQUIRED
|
|
||||||
- (UIImage *)cachedImageForURL:(NSURL *)url
|
|
||||||
cacheName:(NSString *)cacheName;
|
|
||||||
#elif __MAC_OS_X_VERSION_MIN_REQUIRED
|
|
||||||
- (NSImage *)cachedImageForURL:(NSURL *)url
|
|
||||||
cacheName:(NSString *)cacheName;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
Stores image data into cache, associated with a given URL and cache name.
|
|
||||||
|
|
||||||
@param imageData The image data to be stored in cache.
|
|
||||||
@param url The URL to be associated with the image.
|
|
||||||
@param cacheName The cache name to be associated with the image in the cache. This allows for multiple versions of an image to be associated for a single URL, such as image thumbnails, for instance.
|
|
||||||
*/
|
|
||||||
- (void)cacheImageData:(NSData *)imageData
|
|
||||||
forURL:(NSURL *)url
|
|
||||||
cacheName:(NSString *)cacheName;
|
|
||||||
|
|
||||||
@end
|
|
||||||
|
|
@ -1,83 +0,0 @@
|
||||||
// AFImageCache.m
|
|
||||||
//
|
|
||||||
// Copyright (c) 2011 Gowalla (http://gowalla.com/)
|
|
||||||
//
|
|
||||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
// of this software and associated documentation files (the "Software"), to deal
|
|
||||||
// in the Software without restriction, including without limitation the rights
|
|
||||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
// copies of the Software, and to permit persons to whom the Software is
|
|
||||||
// furnished to do so, subject to the following conditions:
|
|
||||||
//
|
|
||||||
// The above copyright notice and this permission notice shall be included in
|
|
||||||
// all copies or substantial portions of the Software.
|
|
||||||
//
|
|
||||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
||||||
// THE SOFTWARE.
|
|
||||||
|
|
||||||
#import "AFImageCache.h"
|
|
||||||
|
|
||||||
static inline NSString * AFImageCacheKeyFromURLAndCacheName(NSURL *url, NSString *cacheName) {
|
|
||||||
return [[url absoluteString] stringByAppendingFormat:@"#%@", cacheName];
|
|
||||||
}
|
|
||||||
|
|
||||||
@implementation AFImageCache
|
|
||||||
|
|
||||||
#if __IPHONE_OS_VERSION_MIN_REQUIRED
|
|
||||||
@synthesize imageScale = _imageScale;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+ (AFImageCache *)sharedImageCache {
|
|
||||||
static AFImageCache *_sharedImageCache = nil;
|
|
||||||
static dispatch_once_t oncePredicate;
|
|
||||||
dispatch_once(&oncePredicate, ^{
|
|
||||||
_sharedImageCache = [[self alloc] init];
|
|
||||||
});
|
|
||||||
|
|
||||||
return _sharedImageCache;
|
|
||||||
}
|
|
||||||
|
|
||||||
- (id)init {
|
|
||||||
self = [super init];
|
|
||||||
if (!self) {
|
|
||||||
return nil;
|
|
||||||
}
|
|
||||||
|
|
||||||
#if __IPHONE_OS_VERSION_MIN_REQUIRED
|
|
||||||
self.imageScale = [[UIScreen mainScreen] scale];
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return self;
|
|
||||||
}
|
|
||||||
|
|
||||||
#if __IPHONE_OS_VERSION_MIN_REQUIRED
|
|
||||||
- (UIImage *)cachedImageForURL:(NSURL *)url
|
|
||||||
cacheName:(NSString *)cacheName
|
|
||||||
{
|
|
||||||
UIImage *image = [UIImage imageWithData:[self objectForKey:AFImageCacheKeyFromURLAndCacheName(url, cacheName)]];
|
|
||||||
if (image) {
|
|
||||||
return [UIImage imageWithCGImage:[image CGImage] scale:self.imageScale orientation:image.imageOrientation];
|
|
||||||
}
|
|
||||||
return image;
|
|
||||||
}
|
|
||||||
#elif __MAC_OS_X_VERSION_MIN_REQUIRED
|
|
||||||
- (NSImage *)cachedImageForURL:(NSURL *)url
|
|
||||||
cacheName:(NSString *)cacheName
|
|
||||||
{
|
|
||||||
return [[[NSImage alloc] initWithData:[self objectForKey:AFImageCacheKeyFromURLAndCacheName(url, cacheName)]] autorelease];
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
- (void)cacheImageData:(NSData *)imageData
|
|
||||||
forURL:(NSURL *)url
|
|
||||||
cacheName:(NSString *)cacheName
|
|
||||||
{
|
|
||||||
[self setObject:[NSPurgeableData dataWithData:imageData] forKey:AFImageCacheKeyFromURLAndCacheName(url, cacheName)];
|
|
||||||
}
|
|
||||||
|
|
||||||
@end
|
|
||||||
|
|
@ -21,7 +21,6 @@
|
||||||
// THE SOFTWARE.
|
// THE SOFTWARE.
|
||||||
|
|
||||||
#import "AFImageRequestOperation.h"
|
#import "AFImageRequestOperation.h"
|
||||||
#import "AFImageCache.h"
|
|
||||||
|
|
||||||
static dispatch_queue_t af_image_request_operation_processing_queue;
|
static dispatch_queue_t af_image_request_operation_processing_queue;
|
||||||
static dispatch_queue_t image_request_operation_processing_queue() {
|
static dispatch_queue_t image_request_operation_processing_queue() {
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,6 @@
|
||||||
#import "AFHTTPClient.h"
|
#import "AFHTTPClient.h"
|
||||||
|
|
||||||
#import "AFImageRequestOperation.h"
|
#import "AFImageRequestOperation.h"
|
||||||
#import "AFImagecache.h"
|
|
||||||
|
|
||||||
#if __IPHONE_OS_VERSION_MIN_REQUIRED
|
#if __IPHONE_OS_VERSION_MIN_REQUIRED
|
||||||
#import "AFNetworkActivityIndicatorManager.h"
|
#import "AFNetworkActivityIndicatorManager.h"
|
||||||
|
|
|
||||||
|
|
@ -24,10 +24,20 @@
|
||||||
#import <objc/runtime.h>
|
#import <objc/runtime.h>
|
||||||
|
|
||||||
#if __IPHONE_OS_VERSION_MIN_REQUIRED
|
#if __IPHONE_OS_VERSION_MIN_REQUIRED
|
||||||
|
|
||||||
#import "UIImageView+AFNetworking.h"
|
#import "UIImageView+AFNetworking.h"
|
||||||
|
|
||||||
#import "AFImageCache.h"
|
@interface AFImageCache : NSCache
|
||||||
|
@property (nonatomic, assign) CGFloat imageScale;
|
||||||
|
|
||||||
|
- (UIImage *)cachedImageForURL:(NSURL *)url
|
||||||
|
cacheName:(NSString *)cacheName;
|
||||||
|
|
||||||
|
- (void)cacheImageData:(NSData *)imageData
|
||||||
|
forURL:(NSURL *)url
|
||||||
|
cacheName:(NSString *)cacheName;
|
||||||
|
@end
|
||||||
|
|
||||||
|
#pragma mark -
|
||||||
|
|
||||||
static char kAFImageRequestOperationObjectKey;
|
static char kAFImageRequestOperationObjectKey;
|
||||||
|
|
||||||
|
|
@ -52,14 +62,24 @@ static char kAFImageRequestOperationObjectKey;
|
||||||
}
|
}
|
||||||
|
|
||||||
+ (NSOperationQueue *)af_sharedImageRequestOperationQueue {
|
+ (NSOperationQueue *)af_sharedImageRequestOperationQueue {
|
||||||
static NSOperationQueue *_imageRequestOperationQueue = nil;
|
static NSOperationQueue *_af_imageRequestOperationQueue = nil;
|
||||||
|
|
||||||
if (!_imageRequestOperationQueue) {
|
if (!_af_imageRequestOperationQueue) {
|
||||||
_imageRequestOperationQueue = [[NSOperationQueue alloc] init];
|
_af_imageRequestOperationQueue = [[NSOperationQueue alloc] init];
|
||||||
[_imageRequestOperationQueue setMaxConcurrentOperationCount:8];
|
[_af_imageRequestOperationQueue setMaxConcurrentOperationCount:8];
|
||||||
}
|
}
|
||||||
|
|
||||||
return _imageRequestOperationQueue;
|
return _af_imageRequestOperationQueue;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (AFImageCache *)af_sharedImageCache {
|
||||||
|
static AFImageCache *_af_imageCache = nil;
|
||||||
|
static dispatch_once_t oncePredicate;
|
||||||
|
dispatch_once(&oncePredicate, ^{
|
||||||
|
_af_imageCache = [[AFImageCache alloc] init];
|
||||||
|
});
|
||||||
|
|
||||||
|
return _af_imageCache;
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark -
|
#pragma mark -
|
||||||
|
|
@ -89,7 +109,7 @@ static char kAFImageRequestOperationObjectKey;
|
||||||
[self cancelImageRequestOperation];
|
[self cancelImageRequestOperation];
|
||||||
}
|
}
|
||||||
|
|
||||||
UIImage *cachedImage = [[AFImageCache sharedImageCache] cachedImageForURL:[urlRequest URL] cacheName:nil];
|
UIImage *cachedImage = [[[self class] af_sharedImageCache] cachedImageForURL:[urlRequest URL] cacheName:nil];
|
||||||
if (cachedImage) {
|
if (cachedImage) {
|
||||||
self.image = cachedImage;
|
self.image = cachedImage;
|
||||||
self.af_imageRequestOperation = nil;
|
self.af_imageRequestOperation = nil;
|
||||||
|
|
@ -112,7 +132,7 @@ static char kAFImageRequestOperationObjectKey;
|
||||||
success(operation.request, operation.response, responseObject);
|
success(operation.request, operation.response, responseObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
[[AFImageCache sharedImageCache] cacheImageData:operation.responseData forURL:[urlRequest URL] cacheName:nil];
|
[[[self class] af_sharedImageCache] cacheImageData:operation.responseData forURL:[urlRequest URL] cacheName:nil];
|
||||||
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
|
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
|
||||||
if (failure) {
|
if (failure) {
|
||||||
failure(operation.request, operation.response, error);
|
failure(operation.request, operation.response, error);
|
||||||
|
|
@ -131,4 +151,43 @@ static char kAFImageRequestOperationObjectKey;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
#pragma mark -
|
||||||
|
|
||||||
|
static inline NSString * AFImageCacheKeyFromURLAndCacheName(NSURL *url, NSString *cacheName) {
|
||||||
|
return [[url absoluteString] stringByAppendingFormat:@"#%@", cacheName];
|
||||||
|
}
|
||||||
|
|
||||||
|
@implementation AFImageCache
|
||||||
|
@synthesize imageScale = _imageScale;
|
||||||
|
|
||||||
|
- (id)init {
|
||||||
|
self = [super init];
|
||||||
|
if (!self) {
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
|
||||||
|
self.imageScale = [[UIScreen mainScreen] scale];
|
||||||
|
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UIImage *)cachedImageForURL:(NSURL *)url
|
||||||
|
cacheName:(NSString *)cacheName
|
||||||
|
{
|
||||||
|
UIImage *image = [UIImage imageWithData:[self objectForKey:AFImageCacheKeyFromURLAndCacheName(url, cacheName)]];
|
||||||
|
if (image) {
|
||||||
|
return [UIImage imageWithCGImage:[image CGImage] scale:self.imageScale orientation:image.imageOrientation];
|
||||||
|
}
|
||||||
|
return image;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)cacheImageData:(NSData *)imageData
|
||||||
|
forURL:(NSURL *)url
|
||||||
|
cacheName:(NSString *)cacheName
|
||||||
|
{
|
||||||
|
[self setObject:[NSPurgeableData dataWithData:imageData] forKey:AFImageCacheKeyFromURLAndCacheName(url, cacheName)];
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,6 @@
|
||||||
F87A15DD1444A86600318955 /* placeholder-stamp.png in Resources */ = {isa = PBXBuildFile; fileRef = F87A15DB1444A86600318955 /* placeholder-stamp.png */; };
|
F87A15DD1444A86600318955 /* placeholder-stamp.png in Resources */ = {isa = PBXBuildFile; fileRef = F87A15DB1444A86600318955 /* placeholder-stamp.png */; };
|
||||||
F897DE78142CFEDC000DDD35 /* AFHTTPClient.m in Sources */ = {isa = PBXBuildFile; fileRef = F897DE6A142CFEDC000DDD35 /* AFHTTPClient.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
|
F897DE78142CFEDC000DDD35 /* AFHTTPClient.m in Sources */ = {isa = PBXBuildFile; fileRef = F897DE6A142CFEDC000DDD35 /* AFHTTPClient.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
|
||||||
F897DE79142CFEDC000DDD35 /* AFHTTPRequestOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = F897DE6C142CFEDC000DDD35 /* AFHTTPRequestOperation.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
|
F897DE79142CFEDC000DDD35 /* AFHTTPRequestOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = F897DE6C142CFEDC000DDD35 /* AFHTTPRequestOperation.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
|
||||||
F897DE7A142CFEDC000DDD35 /* AFImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = F897DE6E142CFEDC000DDD35 /* AFImageCache.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
|
|
||||||
F897DE7B142CFEDC000DDD35 /* AFImageRequestOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = F897DE70142CFEDC000DDD35 /* AFImageRequestOperation.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
|
F897DE7B142CFEDC000DDD35 /* AFImageRequestOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = F897DE70142CFEDC000DDD35 /* AFImageRequestOperation.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
|
||||||
F897DE7C142CFEDC000DDD35 /* AFJSONRequestOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = F897DE72142CFEDC000DDD35 /* AFJSONRequestOperation.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
|
F897DE7C142CFEDC000DDD35 /* AFJSONRequestOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = F897DE72142CFEDC000DDD35 /* AFJSONRequestOperation.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
|
||||||
F8A27AC7142CFE1300F5E0D6 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = F8A27AB2142CFE1300F5E0D6 /* AppDelegate.m */; };
|
F8A27AC7142CFE1300F5E0D6 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = F8A27AB2142CFE1300F5E0D6 /* AppDelegate.m */; };
|
||||||
|
|
@ -48,8 +47,6 @@
|
||||||
F897DE6A142CFEDC000DDD35 /* AFHTTPClient.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFHTTPClient.m; sourceTree = "<group>"; };
|
F897DE6A142CFEDC000DDD35 /* AFHTTPClient.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFHTTPClient.m; sourceTree = "<group>"; };
|
||||||
F897DE6B142CFEDC000DDD35 /* AFHTTPRequestOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFHTTPRequestOperation.h; sourceTree = "<group>"; };
|
F897DE6B142CFEDC000DDD35 /* AFHTTPRequestOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFHTTPRequestOperation.h; sourceTree = "<group>"; };
|
||||||
F897DE6C142CFEDC000DDD35 /* AFHTTPRequestOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFHTTPRequestOperation.m; sourceTree = "<group>"; };
|
F897DE6C142CFEDC000DDD35 /* AFHTTPRequestOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFHTTPRequestOperation.m; sourceTree = "<group>"; };
|
||||||
F897DE6D142CFEDC000DDD35 /* AFImageCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFImageCache.h; sourceTree = "<group>"; };
|
|
||||||
F897DE6E142CFEDC000DDD35 /* AFImageCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFImageCache.m; sourceTree = "<group>"; };
|
|
||||||
F897DE6F142CFEDC000DDD35 /* AFImageRequestOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFImageRequestOperation.h; sourceTree = "<group>"; };
|
F897DE6F142CFEDC000DDD35 /* AFImageRequestOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFImageRequestOperation.h; sourceTree = "<group>"; };
|
||||||
F897DE70142CFEDC000DDD35 /* AFImageRequestOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFImageRequestOperation.m; sourceTree = "<group>"; };
|
F897DE70142CFEDC000DDD35 /* AFImageRequestOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFImageRequestOperation.m; sourceTree = "<group>"; };
|
||||||
F897DE71142CFEDC000DDD35 /* AFJSONRequestOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFJSONRequestOperation.h; sourceTree = "<group>"; };
|
F897DE71142CFEDC000DDD35 /* AFJSONRequestOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFJSONRequestOperation.h; sourceTree = "<group>"; };
|
||||||
|
|
@ -139,8 +136,6 @@
|
||||||
F897DE6A142CFEDC000DDD35 /* AFHTTPClient.m */,
|
F897DE6A142CFEDC000DDD35 /* AFHTTPClient.m */,
|
||||||
F897DE6F142CFEDC000DDD35 /* AFImageRequestOperation.h */,
|
F897DE6F142CFEDC000DDD35 /* AFImageRequestOperation.h */,
|
||||||
F897DE70142CFEDC000DDD35 /* AFImageRequestOperation.m */,
|
F897DE70142CFEDC000DDD35 /* AFImageRequestOperation.m */,
|
||||||
F897DE6D142CFEDC000DDD35 /* AFImageCache.h */,
|
|
||||||
F897DE6E142CFEDC000DDD35 /* AFImageCache.m */,
|
|
||||||
F8323C901455B4FE00190CCB /* AFJSONUtilities.h */,
|
F8323C901455B4FE00190CCB /* AFJSONUtilities.h */,
|
||||||
);
|
);
|
||||||
name = AFNetworking;
|
name = AFNetworking;
|
||||||
|
|
@ -288,7 +283,6 @@
|
||||||
F8A27ACB142CFE1300F5E0D6 /* JSONKit.m in Sources */,
|
F8A27ACB142CFE1300F5E0D6 /* JSONKit.m in Sources */,
|
||||||
F897DE78142CFEDC000DDD35 /* AFHTTPClient.m in Sources */,
|
F897DE78142CFEDC000DDD35 /* AFHTTPClient.m in Sources */,
|
||||||
F897DE79142CFEDC000DDD35 /* AFHTTPRequestOperation.m in Sources */,
|
F897DE79142CFEDC000DDD35 /* AFHTTPRequestOperation.m in Sources */,
|
||||||
F897DE7A142CFEDC000DDD35 /* AFImageCache.m in Sources */,
|
|
||||||
F897DE7B142CFEDC000DDD35 /* AFImageRequestOperation.m in Sources */,
|
F897DE7B142CFEDC000DDD35 /* AFImageRequestOperation.m in Sources */,
|
||||||
F897DE7C142CFEDC000DDD35 /* AFJSONRequestOperation.m in Sources */,
|
F897DE7C142CFEDC000DDD35 /* AFJSONRequestOperation.m in Sources */,
|
||||||
F87A159F1444926300318955 /* AFURLConnectionOperation.m in Sources */,
|
F87A159F1444926300318955 /* AFURLConnectionOperation.m in Sources */,
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,6 @@
|
||||||
/* Begin PBXBuildFile section */
|
/* Begin PBXBuildFile section */
|
||||||
F86E5529143A28F3002B438C /* AFURLConnectionOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = F86E5528143A28F3002B438C /* AFURLConnectionOperation.m */; };
|
F86E5529143A28F3002B438C /* AFURLConnectionOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = F86E5528143A28F3002B438C /* AFURLConnectionOperation.m */; };
|
||||||
F874B5D913E0AA6500B28E3E /* AFHTTPRequestOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = F874B5C913E0AA6500B28E3E /* AFHTTPRequestOperation.m */; };
|
F874B5D913E0AA6500B28E3E /* AFHTTPRequestOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = F874B5C913E0AA6500B28E3E /* AFHTTPRequestOperation.m */; };
|
||||||
F874B5DA13E0AA6500B28E3E /* AFImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = F874B5CA13E0AA6500B28E3E /* AFImageCache.m */; };
|
|
||||||
F874B5DB13E0AA6500B28E3E /* AFImageRequestOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = F874B5CB13E0AA6500B28E3E /* AFImageRequestOperation.m */; };
|
F874B5DB13E0AA6500B28E3E /* AFImageRequestOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = F874B5CB13E0AA6500B28E3E /* AFImageRequestOperation.m */; };
|
||||||
F874B5DC13E0AA6500B28E3E /* AFJSONRequestOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = F874B5CC13E0AA6500B28E3E /* AFJSONRequestOperation.m */; };
|
F874B5DC13E0AA6500B28E3E /* AFJSONRequestOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = F874B5CC13E0AA6500B28E3E /* AFJSONRequestOperation.m */; };
|
||||||
F874B5DD13E0AA6500B28E3E /* AFNetworkActivityIndicatorManager.m in Sources */ = {isa = PBXBuildFile; fileRef = F874B5CD13E0AA6500B28E3E /* AFNetworkActivityIndicatorManager.m */; };
|
F874B5DD13E0AA6500B28E3E /* AFNetworkActivityIndicatorManager.m in Sources */ = {isa = PBXBuildFile; fileRef = F874B5CD13E0AA6500B28E3E /* AFNetworkActivityIndicatorManager.m */; };
|
||||||
|
|
@ -44,13 +43,11 @@
|
||||||
F86E5527143A28F3002B438C /* AFURLConnectionOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AFURLConnectionOperation.h; path = ../AFNetworking/AFURLConnectionOperation.h; sourceTree = "<group>"; };
|
F86E5527143A28F3002B438C /* AFURLConnectionOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AFURLConnectionOperation.h; path = ../AFNetworking/AFURLConnectionOperation.h; sourceTree = "<group>"; };
|
||||||
F86E5528143A28F3002B438C /* AFURLConnectionOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AFURLConnectionOperation.m; path = ../AFNetworking/AFURLConnectionOperation.m; sourceTree = "<group>"; };
|
F86E5528143A28F3002B438C /* AFURLConnectionOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AFURLConnectionOperation.m; path = ../AFNetworking/AFURLConnectionOperation.m; sourceTree = "<group>"; };
|
||||||
F874B5C913E0AA6500B28E3E /* AFHTTPRequestOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AFHTTPRequestOperation.m; path = ../AFNetworking/AFHTTPRequestOperation.m; sourceTree = "<group>"; };
|
F874B5C913E0AA6500B28E3E /* AFHTTPRequestOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AFHTTPRequestOperation.m; path = ../AFNetworking/AFHTTPRequestOperation.m; sourceTree = "<group>"; };
|
||||||
F874B5CA13E0AA6500B28E3E /* AFImageCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AFImageCache.m; path = ../AFNetworking/AFImageCache.m; sourceTree = "<group>"; };
|
|
||||||
F874B5CB13E0AA6500B28E3E /* AFImageRequestOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AFImageRequestOperation.m; path = ../AFNetworking/AFImageRequestOperation.m; sourceTree = "<group>"; };
|
F874B5CB13E0AA6500B28E3E /* AFImageRequestOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AFImageRequestOperation.m; path = ../AFNetworking/AFImageRequestOperation.m; sourceTree = "<group>"; };
|
||||||
F874B5CC13E0AA6500B28E3E /* AFJSONRequestOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AFJSONRequestOperation.m; path = ../AFNetworking/AFJSONRequestOperation.m; sourceTree = "<group>"; };
|
F874B5CC13E0AA6500B28E3E /* AFJSONRequestOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AFJSONRequestOperation.m; path = ../AFNetworking/AFJSONRequestOperation.m; sourceTree = "<group>"; };
|
||||||
F874B5CD13E0AA6500B28E3E /* AFNetworkActivityIndicatorManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AFNetworkActivityIndicatorManager.m; path = ../AFNetworking/AFNetworkActivityIndicatorManager.m; sourceTree = "<group>"; };
|
F874B5CD13E0AA6500B28E3E /* AFNetworkActivityIndicatorManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AFNetworkActivityIndicatorManager.m; path = ../AFNetworking/AFNetworkActivityIndicatorManager.m; sourceTree = "<group>"; };
|
||||||
F874B5D013E0AA6500B28E3E /* UIImageView+AFNetworking.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+AFNetworking.m"; path = "../AFNetworking/UIImageView+AFNetworking.m"; sourceTree = "<group>"; };
|
F874B5D013E0AA6500B28E3E /* UIImageView+AFNetworking.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+AFNetworking.m"; path = "../AFNetworking/UIImageView+AFNetworking.m"; sourceTree = "<group>"; };
|
||||||
F874B5D113E0AA6500B28E3E /* AFHTTPRequestOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AFHTTPRequestOperation.h; path = ../AFNetworking/AFHTTPRequestOperation.h; sourceTree = "<group>"; };
|
F874B5D113E0AA6500B28E3E /* AFHTTPRequestOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AFHTTPRequestOperation.h; path = ../AFNetworking/AFHTTPRequestOperation.h; sourceTree = "<group>"; };
|
||||||
F874B5D213E0AA6500B28E3E /* AFImageCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AFImageCache.h; path = ../AFNetworking/AFImageCache.h; sourceTree = "<group>"; };
|
|
||||||
F874B5D313E0AA6500B28E3E /* AFImageRequestOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AFImageRequestOperation.h; path = ../AFNetworking/AFImageRequestOperation.h; sourceTree = "<group>"; };
|
F874B5D313E0AA6500B28E3E /* AFImageRequestOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AFImageRequestOperation.h; path = ../AFNetworking/AFImageRequestOperation.h; sourceTree = "<group>"; };
|
||||||
F874B5D413E0AA6500B28E3E /* AFJSONRequestOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AFJSONRequestOperation.h; path = ../AFNetworking/AFJSONRequestOperation.h; sourceTree = "<group>"; };
|
F874B5D413E0AA6500B28E3E /* AFJSONRequestOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AFJSONRequestOperation.h; path = ../AFNetworking/AFJSONRequestOperation.h; sourceTree = "<group>"; };
|
||||||
F874B5D513E0AA6500B28E3E /* AFNetworkActivityIndicatorManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AFNetworkActivityIndicatorManager.h; path = ../AFNetworking/AFNetworkActivityIndicatorManager.h; sourceTree = "<group>"; };
|
F874B5D513E0AA6500B28E3E /* AFNetworkActivityIndicatorManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AFNetworkActivityIndicatorManager.h; path = ../AFNetworking/AFNetworkActivityIndicatorManager.h; sourceTree = "<group>"; };
|
||||||
|
|
@ -246,8 +243,6 @@
|
||||||
F8FBFA97142AA238001409DB /* AFHTTPClient.m */,
|
F8FBFA97142AA238001409DB /* AFHTTPClient.m */,
|
||||||
F874B5D313E0AA6500B28E3E /* AFImageRequestOperation.h */,
|
F874B5D313E0AA6500B28E3E /* AFImageRequestOperation.h */,
|
||||||
F874B5CB13E0AA6500B28E3E /* AFImageRequestOperation.m */,
|
F874B5CB13E0AA6500B28E3E /* AFImageRequestOperation.m */,
|
||||||
F874B5D213E0AA6500B28E3E /* AFImageCache.h */,
|
|
||||||
F874B5CA13E0AA6500B28E3E /* AFImageCache.m */,
|
|
||||||
F874B5D813E0AA6500B28E3E /* UIImageView+AFNetworking.h */,
|
F874B5D813E0AA6500B28E3E /* UIImageView+AFNetworking.h */,
|
||||||
F874B5D013E0AA6500B28E3E /* UIImageView+AFNetworking.m */,
|
F874B5D013E0AA6500B28E3E /* UIImageView+AFNetworking.m */,
|
||||||
F874B5D513E0AA6500B28E3E /* AFNetworkActivityIndicatorManager.h */,
|
F874B5D513E0AA6500B28E3E /* AFNetworkActivityIndicatorManager.h */,
|
||||||
|
|
@ -356,7 +351,6 @@
|
||||||
F8DA09E41396AC040057D0CC /* main.m in Sources */,
|
F8DA09E41396AC040057D0CC /* main.m in Sources */,
|
||||||
F8DA09E81396AC220057D0CC /* AppDelegate.m in Sources */,
|
F8DA09E81396AC220057D0CC /* AppDelegate.m in Sources */,
|
||||||
F874B5D913E0AA6500B28E3E /* AFHTTPRequestOperation.m in Sources */,
|
F874B5D913E0AA6500B28E3E /* AFHTTPRequestOperation.m in Sources */,
|
||||||
F874B5DA13E0AA6500B28E3E /* AFImageCache.m in Sources */,
|
|
||||||
F874B5DB13E0AA6500B28E3E /* AFImageRequestOperation.m in Sources */,
|
F874B5DB13E0AA6500B28E3E /* AFImageRequestOperation.m in Sources */,
|
||||||
F874B5DC13E0AA6500B28E3E /* AFJSONRequestOperation.m in Sources */,
|
F874B5DC13E0AA6500B28E3E /* AFJSONRequestOperation.m in Sources */,
|
||||||
F874B5DD13E0AA6500B28E3E /* AFNetworkActivityIndicatorManager.m in Sources */,
|
F874B5DD13E0AA6500B28E3E /* AFNetworkActivityIndicatorManager.m in Sources */,
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,6 @@
|
||||||
#import "SpotTableViewCell.h"
|
#import "SpotTableViewCell.h"
|
||||||
|
|
||||||
#import "TTTLocationFormatter.h"
|
#import "TTTLocationFormatter.h"
|
||||||
#import "AFImageCache.h"
|
|
||||||
#import "UIImageView+AFNetworking.h"
|
#import "UIImageView+AFNetworking.h"
|
||||||
|
|
||||||
@interface NearbySpotsViewController ()
|
@interface NearbySpotsViewController ()
|
||||||
|
|
@ -123,7 +122,6 @@
|
||||||
self.nearbySpots = [NSArray array];
|
self.nearbySpots = [NSArray array];
|
||||||
[self.tableView reloadData];
|
[self.tableView reloadData];
|
||||||
[[NSURLCache sharedURLCache] removeAllCachedResponses];
|
[[NSURLCache sharedURLCache] removeAllCachedResponses];
|
||||||
[[AFImageCache sharedImageCache] removeAllObjects];
|
|
||||||
|
|
||||||
if (self.locationManager.location) {
|
if (self.locationManager.location) {
|
||||||
[self loadSpotsForLocation:self.locationManager.location];
|
[self loadSpotsForLocation:self.locationManager.location];
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue