现在delegate里写一个全局的ASIDownloadCache
.h
#import <UIKit/UIKit.h>
@class ASIDownloadCache;
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@property (nonatomic,retain) ASIDownloadCache *downloadCache;
@end
.m
#import "ASIDownloadCache.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
//初始化ASIDownloadCache缓存对象
ASIDownloadCache *cache = [[ASIDownloadCache alloc] init];
self.downloadCache = cache;
//路径
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentDirectory = [paths objectAtIndex:0];
//设置缓存存放路径
[self.downloadCache setStoragePath:[documentDirectory stringByAppendingPathComponent:@"resource"]];
//设置缓存策略
[self.downloadCache setDefaultCachePolicy:ASIOnlyLoadIfNotCachedCachePolicy];
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
return YES;
}
---------------------------------------接下来写请求---------------------------------------------------------------------------------
.h
#import "ASIHTTPRequest.h"
@interface WebImageView : UIImageView<ASIHTTPRequestDelegate>
@property (nonatomic,strong) NSMutableData *mutabledata;
- (void)setImageURL:(NSString *)urlstring;
@end
.m
#import "Appdelegate.h"
#import "ASIDownloadCache.h"
- (void)setimageurl:(NSString *)urlstring{
NSURL *url = [NSURL URLWithString:urlstring];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
//获取全局变量
AppDelegate *appdelegate = [[UIApplication sharedApplication] delegate];
//设置缓存方式
[request setDownloadCache:appdelegate.downloadCache];
//设置缓存数据存储策略
[request setCacheStoragePolicy:ASICachePermanentlyCacheStoragePolicy];
request.delegate = self;
[request startAsynchronous];
}