最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iOS NSURLSessionDownloadTask設(shè)置代理文件下載的示例

 更新時(shí)間:2018年01月04日 10:16:57   作者:才華驚動(dòng)黨中央  
本篇文章主要介紹了iOS NSURLSessionDownloadTask設(shè)置代理文件下載的示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

通過(guò)設(shè)置代理我們可以拿到下載進(jìn)度,對(duì)于大文件,我們還需要做到開(kāi)始、暫停、繼續(xù)以及取消等相應(yīng)操作,這篇文章先簡(jiǎn)單的介紹一下通過(guò)代理來(lái)實(shí)現(xiàn)文件下載的問(wèn)題:

#import "ViewController.h"
@interface ViewController ()<NSURLSessionDownloadDelegate>
@end
@implementation ViewController
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
  [self delegate];
}

-(void)delegate
{
  //1.url
  NSURL *url = [NSURL URLWithString:@"http://120.25.226.186:32812/resources/images/minion_03.png"];
  
  //2.創(chuàng)建請(qǐng)求對(duì)象
  NSURLRequest *request = [NSURLRequest requestWithURL:url];
  
  //3.創(chuàng)建session :注意代理為NSURLSessionDownloadDelegate
  NSURLSession *session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration] delegate:self delegateQueue:[NSOperationQueue mainQueue]];
  
  //4.創(chuàng)建Task
  NSURLSessionDownloadTask *downloadTask = [session downloadTaskWithRequest:request];
  
  //5.執(zhí)行Task
  [downloadTask resume];
}

#pragma mark ----------------------
#pragma mark NSURLSessionDownloadDelegate
/**
 * 寫數(shù)據(jù)
 *
 * @param session          會(huì)話對(duì)象
 * @param downloadTask       下載任務(wù)
 * @param bytesWritten       本次寫入的數(shù)據(jù)大小
 * @param totalBytesWritten     下載的數(shù)據(jù)總大小
 * @param totalBytesExpectedToWrite 文件的總大小
 */
-(void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask didWriteData:(int64_t)bytesWritten totalBytesWritten:(int64_t)totalBytesWritten totalBytesExpectedToWrite:(int64_t)totalBytesExpectedToWrite
{
  //1. 獲得文件的下載進(jìn)度
  NSLog(@"%f",1.0 * totalBytesWritten/totalBytesExpectedToWrite);
}

/**
 * 當(dāng)恢復(fù)下載的時(shí)候調(diào)用該方法
 *
 * @param fileOffset     從什么地方下載
 * @param expectedTotalBytes 文件的總大小
 */
-(void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask didResumeAtOffset:(int64_t)fileOffset expectedTotalBytes:(int64_t)expectedTotalBytes
{
  NSLog(@"%s",__func__);
}

/**
 * 當(dāng)下載完成的時(shí)候調(diào)用
 *
 * @param location   文件的臨時(shí)存儲(chǔ)路徑
 */
-(void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask didFinishDownloadingToURL:(NSURL *)location
{
  NSLog(@"%@",location);
  
  //1 拼接文件全路徑
  NSString *fullPath = [[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:downloadTask.response.suggestedFilename];
  
  //2 剪切文件
  [[NSFileManager defaultManager]moveItemAtURL:location toURL:[NSURL fileURLWithPath:fullPath] error:nil];
  NSLog(@"%@",fullPath);
}

/**
 * 請(qǐng)求結(jié)束
 */
-(void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didCompleteWithError:(NSError *)error
{
  NSLog(@"didCompleteWithError");
}
@end

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • iOS中讀取照片庫(kù)及保存圖片或視頻到照片庫(kù)的要點(diǎn)解析

    iOS中讀取照片庫(kù)及保存圖片或視頻到照片庫(kù)的要點(diǎn)解析

    iOS中保存到本地的圖片視頻都會(huì)被匯總到系統(tǒng)的PhotoLibrary中,這里我們就來(lái)看一下iOS中讀取照片庫(kù)及保存圖片或視頻到照片庫(kù)的要點(diǎn)解析
    2016-06-06
  • ios下移動(dòng)文件方法匯總

    ios下移動(dòng)文件方法匯總

    這篇文章主要給大家匯總了一下ios下移動(dòng)文件方法,從簡(jiǎn)單到復(fù)雜,十分的實(shí)用,有需要的小伙伴可以參考下。
    2015-05-05
  • 淺談iOS中幾個(gè)常用協(xié)議 NSCopying/NSMutableCopying

    淺談iOS中幾個(gè)常用協(xié)議 NSCopying/NSMutableCopying

    下面小編就為大家分享一篇淺談iOS中幾個(gè)常用協(xié)議 NSCopying/NSMutableCopying,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • iOS實(shí)現(xiàn)新年抽獎(jiǎng)轉(zhuǎn)盤效果的思路

    iOS實(shí)現(xiàn)新年抽獎(jiǎng)轉(zhuǎn)盤效果的思路

    這篇文章主要為大家詳細(xì)介紹了iOS實(shí)現(xiàn)抽獎(jiǎng)轉(zhuǎn)盤效果的思路,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • iOS中Runtime的幾種基本用法記錄

    iOS中Runtime的幾種基本用法記錄

    RunTime顧名思義運(yùn)行時(shí),就是系統(tǒng)在運(yùn)行的時(shí)候的一些機(jī)制,最主要的是消息機(jī)制。下面這篇文章主要給大家介紹了關(guān)于iOS中Runtime的幾種基本用法,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • 2016最新CocoaPods安裝和錯(cuò)誤解決方案

    2016最新CocoaPods安裝和錯(cuò)誤解決方案

    CocoaPods是一個(gè)負(fù)責(zé)管理iOS項(xiàng)目中第三方開(kāi)源庫(kù)的工具,開(kāi)發(fā)iOS項(xiàng)目不可避免地要使用第三方開(kāi)源庫(kù)。接下來(lái)通過(guò)本文給大家介紹2016最新CocoaPods安裝和錯(cuò)誤解決方案,需要的的朋友參考下吧
    2016-11-11
  • iOS開(kāi)發(fā)之Quartz2D的介紹與使用詳解

    iOS開(kāi)發(fā)之Quartz2D的介紹與使用詳解

    什么是Quartz2D?Quartz 2D是一個(gè)二維繪圖引擎,同時(shí)支持iOS和Mac系統(tǒng)。下面這篇文章主要介紹了iOS開(kāi)發(fā)之Quartz2D的介紹與使用的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • IOS10 相冊(cè)相機(jī)閃退bug解決辦法

    IOS10 相冊(cè)相機(jī)閃退bug解決辦法

    這篇文章主要介紹了IOS10 相冊(cè)相機(jī)閃退bug解決辦法的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • 淺談Xcode 開(kāi)發(fā)工具 XCActionBar

    淺談Xcode 開(kāi)發(fā)工具 XCActionBar

    本文主要給大家簡(jiǎn)單講解了Xcode的開(kāi)發(fā)工具 XCActionBar的介紹與使用方法,非常的全面實(shí)用,有需要的小伙伴可以參考下。
    2015-11-11
  • iOS改變UITextField占位文字顏色的三種方法

    iOS改變UITextField占位文字顏色的三種方法

    這篇文章主要為大家詳細(xì)介紹了iOS改變UITextField的占位文字顏色的三種方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01

最新評(píng)論

民勤县| 宁海县| 金堂县| 米泉市| 祁连县| 乌审旗| 鄱阳县| 资中县| 汕头市| 彭州市| 北川| 斗六市| 舞阳县| 怀远县| 崇仁县| 武穴市| 荥阳市| 奈曼旗| 咸阳市| 额敏县| 宜良县| 寿宁县| 互助| 南雄市| 凌海市| 措勤县| 同仁县| 宜丰县| 黑河市| 绿春县| 双鸭山市| 屏东市| 宁阳县| 二连浩特市| 镇宁| 新余市| 翼城县| 庆云县| 普定县| 通道| 县级市|