首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏正则

    AFNetworking源码探究(二)GET请求实现之NSURLSessionDataTask实例化

    这里我们看一下这个类NSURLSessionDataTask /* * An NSURLSessionDataTask does not provide any additional * functionality NSURLSessionDataTask的实例化 下面我们接着看进一步的调用 - (NSURLSessionDataTask *)dataTaskWithHTTPMethod:(NSString *)method 实例化NSURLSessionDataTask对象,并调用下面方法返回该对象。 request; 这个其实就是调用到苹果系统的方法里面了,根据request创建对应的任务NSURLSessionDataTask。 (b) 为指定的任务添加代理 下面我们就看一下为指定的任务NSURLSessionDataTask是如何添加代理的。

    78150发布于 2021-09-02
  • 来自专栏陈满iOS

    [iOS源码笔记]·第三方网络下载处理框架:AFNetworking网络下载处理(调用栈与缓存策略篇)

    * _Nonnull, id _Nullable))success failure:(void (^)(NSURLSessionDataTask * _Nullable * _Nonnull, id _Nullable))success failure:(void (^)(NSURLSessionDataTask * _Nullable , NSError * _Nonnull))failure { NSURLSessionDataTask *dataTask = [self dataTaskWithHTTPMethod:@" *, id))success failure:(void (^)(NSURLSessionDataTask *, NSError 源码 - (NSURLSessionDataTask *)dataTaskWithRequest:(NSURLRequest *)request

    1.7K20发布于 2018-09-10
  • 来自专栏正则

    架构之路 (四) —— APP架构之工程实践中网络层的搭建(二)

    <AFNetworking/AFNetworking.h> @interface JJHTTPSessionManager : AFHTTPSessionManager - (nullable NSURLSessionDataTask * _Nullable task, NSError * _Nullable error))failure; - (nullable NSURLSessionDataTask *)JJPost:(NSString Nullable uploadProgress))uploadProgress success:(nullable void (^)(NSURLSessionDataTask , id _Nullable responseObject))success failure:(nullable void (^)(NSURLSessionDataTask , id _Nullable responseObject))success failure:(nullable void (^)(NSURLSessionDataTask

    42310发布于 2021-09-04
  • 来自专栏iOS技术杂谈

    iOS网络——AFNetworking AFHttpSessionManager源码解析

    *task))success failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task , NSError *error))failure; //获取一个POST请求 - (nullable NSURLSessionDataTask *)POST:(NSString *)URLString * _Nullable task, NSError *error))failure; //获取一个PATCH请求 - (nullable NSURLSessionDataTask *)PATCH:( * _Nullable task, NSError *error))failure; //获取一个DELETE请求 - (nullable NSURLSessionDataTask *)DELETE *task))success failure:(void (^)(NSURLSessionDataTask *task, NSError *error))

    1.8K80发布于 2018-04-10
  • 来自专栏LeeCen

    AFNetworking的使用

    NSProgress * _Nonnull downloadProgress) { NSLog(@"下载 = %@",downloadProgress); } success:^(NSURLSessionDataTask defaultCenter] postNotificationName:@"center" object:nil userInfo:responseObject]; } failure:^(NSURLSessionDataTask ^(NSProgress * _Nonnull uploadProgress) { NSLog(@"上传 = %@",uploadProgress); } success:^(NSURLSessionDataTask Nonnull task, id _Nullable responseObject) { NSLog(@"响应 = %@",responseObject); } failure:^(NSURLSessionDataTask ^(NSProgress * _Nonnull uploadProgress) { NSLog(@"上传 = %@",uploadProgress); } success:^(NSURLSessionDataTask

    1.5K10发布于 2018-10-11
  • 来自专栏iOSer成长记录

    AFNetworking 源码阅读(v3.2.1)

    * _Nonnull task, id _Nullable responseObject) { // 请求成功 } failure:^(NSURLSessionDataTask * _Nullable , NSError *error))failure; // 发起post请求 - (nullable NSURLSessionDataTask *)POST:(NSString *)URLString * _Nullable task, NSError *error))failure; // 发起delete请求 - (nullable NSURLSessionDataTask *)DELETE: * _Nullable task, NSError *error))failure; @end 它的实现最后都会汇集到下面两个方法中,一个上传,一个下载 - (NSURLSessionDataTask // - (NSURLSessionDataTask *)dataTaskWithRequest:(NSURLRequest *)request; // - (NSURLSessionDataTask

    2.5K20发布于 2018-07-05
  • 来自专栏ShaoYL

    iOS----轻松掌握AFN网络顶级框架

    *task, id responseObject))success failure:(void (^)(NSURLSessionDataTask *task, NSError failure:(void (^)(NSURLSessionDataTask *task, NSError *error))failure 代码示例 // GET *task, id responseObject))success failure:(void (^)(NSURLSessionDataTask *task ))success failure:(void (^)(NSURLSessionDataTask *task, NSError *error))failure *task, id responseObject))success failure:(void (^)(NSURLSessionDataTask *task,

    1.5K70发布于 2018-05-11
  • 来自专栏Helloted

    源码分析之AFNetworking(二)

    *task, id _Nullable responseObject))success failure:(nullable void (^)(NSURLSessionDataTask error:(NSError *__autoreleasing *)error 2、NSMutableURLRequest对象,作为一个参数重写父类AFURLSessionManager的方法生成一个NSURLSessionDataTask . */ @interface NSURLSessionUploadTask : NSURLSessionDataTask @end /* * NSURLSessionDownloadTask is 对象时采用了url_session_manager_create_task_safely的方式,查看代码 是因为之前iOS的一个bug,在并发队列中生成NSURLSessionDataTask对象会有问题 AFN给每个dataTask都绑定了一个代理,主要处理例如下载进度,下载完成后的一些格式处理 - (void)addDelegateForDataTask:(NSURLSessionDataTask *

    56310编辑于 2022-06-07
  • 来自专栏iOS知识点

    Object-c重新封装AFNetworking改动

    *dataTask, id responseObject) = ^(NSURLSessionDataTask *dataTask,id responseObject) { responseBlock (responseObject, nil); }; // 定义失败的block void (^failure)(NSURLSessionDataTask *dataTask,NSError *error) = ^(NSURLSessionDataTask *dataTask,NSError *error) { responseBlock(nil, error); (responseObject, nil); }; void (^failure)(NSURLSessionDataTask *dataTask,NSError *error) = ^( NSURLSessionDataTask *dataTask,NSError *error) { responseBlock(nil, error); }; [[

    75420发布于 2019-12-19
  • 来自专栏正则

    AFNetworking源码探究(七) —— AFURLSessionManager(3)

    . - (void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)dataTask didReceiveResponse which cannot be converted to download tasks). */ - (void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask ---- 2. - (void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)dataTask didBecomeDownloadTask ---- 3. - (void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)dataTask didReceiveData ---- 4. - (void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)dataTask willCacheResponse

    73540发布于 2021-09-02
  • 来自专栏落影的专栏

    iOS开发-AFNetworking详解

    Paste_Image.png 调用post请求 - (NSURLSessionDataTask *)POST:(NSString *)URLString parameters:(id)parameters progress:(void (^)(NSProgress * _Nonnull))uploadProgress success:(void (^)(NSURLSessionDataTask * _Nonnull, id _Nullable))success failure:(void (^)(NSURLSessionDataTask * _Nullable, NSError * _Nonnull ))failure 新建一个task - (NSURLSessionDataTask *)dataTaskWithHTTPMethod:(NSString *)method URLString:(NSString *, id))success failure:(void (^)(NSURLSessionDataTask *, NSError *))failure 新建一个request - (NSMutableURLRequest

    1.8K60发布于 2018-04-27
  • 来自专栏陈满iOS

    iOS开发·网络请求方法总结复习(NSURLConnection,NSURLSession,AFNetworking)

    *task, id responseObject))success failure:(void (^)(NSURLSessionDataTask *task , NSError * _Nonnull))failure { NSURLSessionDataTask *dataTask = [self dataTaskWithHTTPMethod:@" *, id))success failure:(void (^)(NSURLSessionDataTask *, NSError The request may have a body stream. */ - (NSURLSessionDataTask *)dataTaskWithRequest:(NSURLRequest *) resume] 其中,【注解1】、【注解2】、【注解3】这三个方法得到的是同一个对象,即【注解3】中系统原生的NSURLSessionDataTask对象。

    4K30发布于 2018-09-10
  • 来自专栏一“技”之长

    从AFNetworking源码分析到应用全解 原

    * _Nullable task, NSError *error))failure DEPRECATED_ATTRIBUTE; - (nullable NSURLSessionDataTask *) , NSError *error))failure; //进行POST请求 - (nullable NSURLSessionDataTask *)POST:(NSString *)URLString * _Nullable task, NSError *error))failure DEPRECATED_ATTRIBUTE; - (nullable NSURLSessionDataTask *) * _Nullable task, NSError *error))failure DEPRECATED_ATTRIBUTE; - (nullable NSURLSessionDataTask *) * _Nullable task, NSError *error))failure; //进行DELETE请求 - (nullable NSURLSessionDataTask *)DELETE:(

    3.5K51发布于 2018-08-15
  • 来自专栏码客

    AFNetworking简单封装(Block形式)

    progress:^(NSProgress * _Nonnull downloadProgress) { } success:^(NSURLSessionDataTask responseObject) { callback(true,responseObject,nil); } failure:^(NSURLSessionDataTask progress:^(NSProgress * _Nonnull downloadProgress) { } success:^(NSURLSessionDataTask responseObject) { callback(true,responseObject,nil); } failure:^(NSURLSessionDataTask

    1.5K10发布于 2019-10-22
  • 来自专栏Alice

    iOS afnetworking最新版报错 没有AFHTTPRequestOperationManager类了

    manager GET:URL parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) { } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { NSLog(@"这里打印请求成功要做的事"); } failure:^(NSURLSessionDataTask manager POST:URL parameters:parameters progress:^(NSProgress * _Nonnull uploadProgress) { } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { } failure:^(NSURLSessionDataTask * _Nullable task WKNSLog(@"%lf",1.0 *uploadProgress.completedUnitCount / uploadProgress.totalUnitCount); } success:^(NSURLSessionDataTask

    3.3K90发布于 2018-02-01
  • 来自专栏我只不过是出来写写iOS

    AFNetworking框架分析(二)——AFURLSessionManager(上)

    secrequest setHTTPBody:secbody]; NSURLSession *requestSessions = [NSURLSession sharedSession]; NSURLSessionDataTask 以POST请求为例,调用的 - (nullable NSURLSessionDataTask *)POST:(NSString *)URLString parameters:(nullable id) *task, id _Nullable responseObject))success failure:(nullable void (^)(NSURLSessionDataTask * _Nullable *error))failure方法 进入该方法查看实现,发现除了常用的POST和GET请求之外,还有PUT、HEAD、DELETE、PATCH这些其它请求类型的方法实现,都执行了同一个方法 - (NSURLSessionDataTask *, id))success failure:(void (^)(NSURLSessionDataTask *, NSError *))failure 在该方法中,首先调用AFHTTPRequestSerializer

    2.2K40发布于 2019-04-02
  • 来自专栏程序员充电站(itcharge)

    iOS网络--『文件下载、断点下载』的实现(三):AFNetworking

    这里使用了NSURLSessionDataTask,以便实现『离线断点下载』。 @property (nonatomic, strong) NSFileHandle *fileHandle; /** 下载任务 */ @property (nonatomic, strong) NSURLSessionDataTask initWithSessionConfiguration:configuration]; } return _manager; } /** * downloadTask的懒加载 */ - (NSURLSessionDataTask setDataTaskDidReceiveResponseBlock:^NSURLSessionResponseDisposition(NSURLSession * _Nonnull session, NSURLSessionDataTask ]; [self.manager setDataTaskDidReceiveDataBlock:^(NSURLSession * _Nonnull session, NSURLSessionDataTask

    3.7K50发布于 2018-05-31
  • 来自专栏freesan44

    用GCD线程组与GCD信号量将异步线程转换为同步线程

    AFHTTPSessionManager manager];31[manager GET:urlString_132parameters:dictionary33progress:nil34success:^(NSURLSessionDataTask 成功请求数据1:%@",[responseObjectclass]);36//如果请求成功,发送信号量37dispatch_semaphore_signal(semaphore);38} failure:^(NSURLSessionDataTask Nonnull task,id_Nullable responseObject) {33NSLog(@"成功请求数据1:%@",[responseObjectclass]);34} failure:^(NSURLSessionDataTask Nonnull task,id_Nullable responseObject) {46NSLog(@"成功请求数据2:%@",[responseObjectclass]);47} failure:^(NSURLSessionDataTask {33NSLog(@"%@",[NSThread currentThread]);34NSLog(@"成功请求数据1:%@",[responseObjectclass]);35} failure:^(NSURLSessionDataTask

    78120发布于 2018-09-05
  • 来自专栏DannyHoo的专栏

    NSURLConnection被放弃之后使用NSURLSession

    成功或失败)      param data     返回的数据(响应体)      param response 响应头      param error    错误信息      */ NSURLSessionDataTask NSUTF8StringEncoding]; //创建会话对象 NSURLSession *session = [NSURLSession sharedSession]; //创建请求 Task NSURLSessionDataTask NSUTF8StringEncoding]);                                       }]; //发送请求     [dataTask resume]; NSURLSessionDataTask resume]; 遵守协议,实现代理方法(常用的有三种代理方法) -(void)URLSession:(NSURLSession *)session dataTask:(nonnull NSURLSessionDataTask completionHandler(NSURLSessionResponseAllow); } -(void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask

    56820发布于 2018-09-13
  • 来自专栏云原生布道专栏

    IOS开发系列——NSUrlSession专题

    它们之间的关系如下图: NSURLSessionTask及三个子类继承关系: NSURLSessionDataTask:主要用于读取服务端的简单数据,比如JSON数据。 (1)NSURLSessionDataTask 通过request对象或url创建: -(NSURLSessionDataTask *)dataTaskWithRequest:(NSURLRequest 指定回调的代码块: -(NSURLSessionDataTask*)dataTaskWithRequest:(NSURLRequest*)requestcompletionHandler:(void(^ 1.1.3启动任务 //启动任务 [taskresume]; 1.2GET请求与POST请求 我们可以使用NSURLSessionDataTask进行GET请求与POST请求。 username=myName&pwd=myPsd"]; NSURLSessionDataTask*task=[sessiondataTaskWithURL:urlcompletionHandler:^

    1.1K30编辑于 2023-10-11
领券