如何使用ASINetWorkQueue下载实现
生活随笔
收集整理的這篇文章主要介紹了
如何使用ASINetWorkQueue下载实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
假設有這么個觸發下載方法叫
- (IBAction)startDownLoad:(id)sender?
本地viewController有這么個instance variable : ASINetWorkQueue *netWorkQueue
可以從該實例的頭文件中看到該queue屬于一個NSOperationQueue
在觸發方法實現如下代碼
// lazy init 你的實例netWorkQueueif (!networkQueue) {networkQueue = [[ASINetworkQueue alloc]init];}
// 使得每一次下載都是重新來過的[networkQueue reset];//UI監聽器,設置用來監察整個過程的UI界面 [networkQueue setDownloadProgressDelegate:wholeProgress]; // [networkQueue setRequestDidFinishSelector:@selector(imageFetchComplete:)];
// 設置queue完成后需要實現的UI方法,根據頭文件里面定義,這個UI方法需要一個ASIHTTPRequest 的參數networkQueue.requestDidFinishSelector = @selector(imageFetchComplete:);[networkQueue setRequestDidFailSelector:@selector(imageFetchFailed:)];networkQueue.showAccurateProgress = [self.accurateInfo isOn];
// 如果要實現SEL的方法則根據頭文件定義需要把delegate定為selfnetworkQueue.delegate = self;
//這里是給queque添加任務的。ASIHTTPRequest *request;
//定義requestrequest = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:@"http://allseeing-i.com/ASIHTTPRequest/tests/images/small-image.jpg"]];
//定義request的下載目標地址request.downloadDestinationPath = [[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]stringByAppendingPathComponent:@"1.png"];
//定義request 下載的ui同步request.downloadProgressDelegate = self.imageView1Progress;
//紀錄request信息request.userInfo = [NSDictionary dictionaryWithObject:@"request1" forKey:@"name"];[networkQueue addOperation:request];
- (void)imageFetchComplete:(ASIHTTPRequest *)request
{
UIImage *img = [UIImage imageWithContentsOfFile:[request downloadDestinationPath]];
}
轉載于:https://www.cnblogs.com/davidxie/archive/2012/08/26/2657676.html
總結
以上是生活随笔為你收集整理的如何使用ASINetWorkQueue下载实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决 DevExpress GridCo
- 下一篇: 使用beanUtils操纵bean的属性