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>

 

posted @   HEJJY  阅读(374)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
历史上的今天:
2016-11-21 iOS应用上架报错解决
点击右上角即可分享
微信分享提示