#import "viewcontroller.h"
#import "ssziparchive.h"
#import "nsstring+hash.h"
@inte***ce
viewcontroller ()
@property (weak, nonatomic) iboutlet uiprogressview *progressview;
@property (nonatomic, strong) nsurlsession *session; // 自定義會話
@property (nonatomic, strong) nsdata *resumedata; // 斷點續傳的資料
@property (nonatomic, strong) nsurl *url;
@end
@implementation
viewcontroller
- (void)viewdidload
// 在暫停或者繼續之前先判斷當前的任務狀態
- (ibaction)pause:(id)sender ];
}}- (ibaction)resume:(id)sender
if (self
.downloadtask
.state==nsurlsessiontaskstatecanceling||self
.downloadtask
.state == nsurlsessiontaskstatesuspended)
}//通過url得到resumedata的儲存路徑---用md5改變路徑,降低重複率
- (nsstring *)resumedatapathwithurl:(nsurl *)url
//把屬性中resumedata資料根據url儲存到指定路徑
- (void)loadresumedatawithurl:(nsurl *)url
// 但是在真機上不存在這個問題
- (void)touchesbegan:(nsset*)touches withevent:(uievent *)event
- (void)loaddata else
[self
.downloadtask resume];
}#pragma mark - session 的**
- (void)urlsession:(nsurlsession *)session downloadtask:(nsurlsessiondownloadtask *)downloadtask didfinishdownloadingtourl:(nsurl *)location
// 此方法並沒什麼卵用
- (void)urlsession:(nsurlsession *)session downloadtask:(nsurlsessiondownloadtask *)downloadtask didresumeatoffset:(int64_t)fileoffset expectedtotalbytes:(int64_t)expectedtotalbytes
/** session 會話
downloadtask 任務的物件
byteswritten 本次寫入的資料長度
totalbyteswritten 總共接收了資料長度
totalbyte***pectedtowrite 總的資料長度
*/- (void)urlsession:(nsurlsession *)session downloadtask:(nsurlsessiondownloadtask *)downloadtask didwritedata:(int64_t)byteswritten totalbyteswritten:(int64_t)totalbyteswritten totalbyte***pectedtowrite:(int64_t)totalbyte***pectedtowrite ];
//dispatch_async(dispatch_get_main_queue(), ^);
}- (nsurlsession *)session
return _session;
}@end
iOS網路請求NSURLSession
nsurlsession是ios7中新的網路介面。nsurlsession提供的功能 將資料上傳到指定url 在後台完成上述功能 nsurlsession工作流程 1.建立乙個nsurlsessionconfiguration,用於第二步建立nssession時設定工作模式和網路配置。工作模式 1....
網路篇 NSURLSession介紹
nsurlsession 作用 和nsurlconnection一樣 1 負責傳送請求,建立客戶端和伺服器的連線傳送資料給伺服器 2 並收集來自伺服器的響應資料 步驟 1 建立nsurlsession物件 2 利用nsurlsession建立任務 task 3 執行任務 任務的型別 1 nsurls...
NSURLSession的初步理解
注意 當建立的session做為強引用時,需要自己手動釋放 void dealloc get請求的建立 方法一 1.建立nsurlsession nsurlsession session nsurlsession sharedsession 2.根據會話物件來建立task 第乙個引數 請求物件 第二...