NSURLSession各文件关系

Posted HEJJY

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NSURLSession各文件关系相关的知识,希望对你有一定的参考价值。

NSURLSession   通过session创建任务

 

@property (class, readonly, strong) NSURLSession *sharedSession; 

+ (NSURLSession *)sessionWithConfiguration:(NSURLSessionConfiguration *)configuration;

+ (NSURLSession *)sessionWithConfiguration:(NSURLSessionConfiguration *)configuration delegate:(nullable id <NSURLSessionDelegate>)delegate delegateQueue:(nullable NSOperationQueue *)queue;

 

@property (readonly, retain) NSOperationQueue *delegateQueue;

@property (nullable, readonly, retain) id <NSURLSessionDelegate> delegate;

@property (readonly, copy) NSURLSessionConfiguration *configuration;

@property (nullable, copy) NSString *sessionDescription;

 

- (void)finishTasksAndInvalidate;

- (void)invalidateAndCancel;

 

- (void)resetWithCompletionHandler:(void (^)(void))completionHandler;   

- (void)flushWithCompletionHandler:(void (^)(void))completionHandler;  

 

- (void)getTasksWithCompletionHandler:(void (^)(NSArray<NSURLSessionDataTask *> *dataTasks, NSArray<NSURLSessionUploadTask *> *uploadTasks, NSArray<NSURLSessionDownloadTask *> *downloadTasks))completionHandler; 

- (void)getAllTasksWithCompletionHandler:(void (^)(NSArray<__kindof NSURLSessionTask *> *tasks))completionHandler API_AVAILABLE(macos(10.11), ios(9.0), watchos(2.0), tvos(9.0)); /* invokes completionHandler with all outstanding tasks.

- (NSURLSessionDataTask *)dataTaskWithRequest:(NSURLRequest *)request;

 

- (NSURLSessionDataTask *)dataTaskWithURL:(NSURL *)url;

 

- (NSURLSessionUploadTask *)uploadTaskWithRequest:(NSURLRequest *)request fromFile:(NSURL *)fileURL;

 

- (NSURLSessionUploadTask *)uploadTaskWithRequest:(NSURLRequest *)request fromData:(NSData *)bodyData;

 

- (NSURLSessionUploadTask *)uploadTaskWithStreamedRequest:(NSURLRequest *)request;

 

 - (NSURLSessionDownloadTask *)downloadTaskWithRequest:(NSURLRequest *)request;

 

- (NSURLSessionDownloadTask *)downloadTaskWithURL:(NSURL *)url;

 

- (NSURLSessionDownloadTask *)downloadTaskWithResumeData:(NSData *)resumeData;

 

- (NSURLSessionStreamTask *)streamTaskWithHostName:(NSString *)hostname port:(NSInteger)port API_AVAILABLE(macos(10.11), ios(9.0), tvos(9.0)) __WATCHOS_PROHIBITED;

- (NSURLSessionStreamTask *)streamTaskWithNetService:(NSNetService *)service API_AVAILABLE(macos(10.11), ios(9.0), tvos(9.0)) __WATCHOS_PROHIBITED;

 

NSURLSessionConfiguration 通过configuration创建session

 

NSURLSessionTask   任务

 

NSURLSessionDataTask : NSURLSessionTask  普通任务

NSURLSessionUploadTask : NSURLSessionDataTask 上传任务

NSURLSessionDownloadTask : NSURLSessionTask  下载任务

NSURLSessionStreamTask : NSURLSessionTask

 

NSURLSessionDelegate  session代理

NSURLSessionTaskDelegate <NSURLSessionDelegate>

 

NSURLSessionDataDelegate <NSURLSessionTaskDelegate>

NSURLSessionDownloadDelegate <NSURLSessionTaskDelegate>

NSURLSessionStreamDelegate <NSURLSessionTaskDelegate>

 

以上是关于NSURLSession各文件关系的主要内容,如果未能解决你的问题,请参考以下文章

应该如何处理 NSURLAuthenticationMethodXMobileMeAuthToken?

NSurlSession - 下载许多文件

NSURLSession下载文件-代理

iOS 使用NSURLSession下载大文件

iOS NSURLSession 实现网络请求-文件下载-上传-后台下载

iOS NSURLSession 实现网络请求-文件下载-上传-后台下载