首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏一“技”之长

    iOS进度指示器——NSProgress

    这使得在开发中进行耗时任务进度的监听将什么麻烦,在iOS7之后,系统提供了NSProgress类来专门报告任务进度。 NSProgress对象都默认作为子节点添加。 * sub = [NSProgress progressWithTotalUnitCount:10 parent:progress pendingUnitCount:5]; NSProgress NSProgress *)currentProgress; //创建一个NSProgress对象,需要传入进度的单元数量 + (NSProgress *)progressWithTotalUnitCount parent:(NSProgress *)parent pendingUnitCount:(int64_t)portionOfParentTotalUnitCount; //NSProgress实例的初始化方法

    1.9K20发布于 2018-08-15
  • 来自专栏月亮与二进制

    iOS进度管理NSProgress类简单实用实例

    引言 iOS 7 之后苹果推出了一个新的类 NSProgress 专门用来管理进度,比如在下载数据或者执行任务的时候要显示进度,那么这个类就可以很方便地对进度进行管理,供开发者拿去控制表示进度的UI界面 这个类的用法其实很简单,总结起来就是下面几个步骤: 创建实例,同时设定表示任务要完成的数量的总值(这个总值只是一个用来计算比例的概念); 配置KVO观察其进度的变化,从而对UI做出更新(NSProgress 单任务执行 直接上代码: @interface ViewController () @property (nonatomic, strong) NSProgress *progress; @end 在KVO的响应方法中,列出了三种进度表示方式,这都是原生支持的,分别对应三种显示效果,如下图: 多任务执行 所谓的多任务执行,是指 NSProgress 类可以添加多个子任务,分别占据主任务的一定比例 *sub1 = [NSProgress progressWithTotalUnitCount:10 parent:self.progress pendingUnitCount:4]; NSProgress

    84810发布于 2021-11-23
  • 来自专栏陈满iOS

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

    self.urlStr = @"http://10.10.100.100/test333.pdf"; [manager GET:_urlStr parameters:nil progress:^(NSProgress uploadProgress)) uploadProgress downloadProgress:(nullable void (^)(NSProgress uploadProgress)) uploadProgress downloadProgress:(nullable void (^)(NSProgress *uploadProgress)) uploadProgressBlock downloadProgress:(nullable void (^)(NSProgress * *uploadProgress)) uploadProgressBlock downloadProgress:(nullable void (^)(NSProgress *

    1.7K20发布于 2018-09-10
  • 来自专栏落影的专栏

    iOS开发-AFNetworking详解

    - (NSURLSessionDataTask *)POST:(NSString *)URLString parameters:(id)parameters progress:(void (^)(NSProgress method URLString:(NSString *)URLString parameters:(id)parameters uploadProgress:(nullable void (^)(NSProgress *uploadProgress)) uploadProgress downloadProgress:(nullable void (^)(NSProgress *downloadProgress)) *uploadProgress)) uploadProgressBlock downloadProgress:(nullable void (^)(NSProgress *downloadProgress *uploadProgress)) uploadProgressBlock downloadProgress:(nullable void (^)(NSProgress *downloadProgress

    1.7K60发布于 2018-04-27
  • 来自专栏LeeCen

    AFNetworking的使用

    AFHTTPSessionManager manager]; [manager GET:url.absoluteString parameters:dictionary progress:^(NSProgress NSURL URLWithString:urlString]; [manager POST:url.absoluteString parameters:dictionary progress:^(NSProgress appendPartWithFileData:data name:@"pic" fileName:@"测试.png" mimeType:@"png"]; } progress:^(NSProgress

    1.5K10发布于 2018-10-11
  • 来自专栏Helloted

    源码分析之AFNetworking(二)

    dataTaskWithRequest:(NSURLRequest *)request uploadProgress:(nullable void (^)(NSProgress uploadProgress)) uploadProgressBlock downloadProgress:(nullable void (^)(NSProgress addDelegateForDataTask:(NSURLSessionDataTask *)dataTask uploadProgress:(nullable void (^)(NSProgress *uploadProgress)) uploadProgressBlock downloadProgress:(nullable void (^)(NSProgress *

    55210编辑于 2022-06-07
  • 来自专栏正则

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

    NSString *)URLString parameters:(id)parameters progress:(void (^)(NSProgress uploadProgress)) uploadProgress downloadProgress:(nullable void (^)(NSProgress uploadProgress)) uploadProgressBlock downloadProgress:(nullable void (^)(NSProgress uploadProgress)) uploadProgressBlock downloadProgress:(nullable void (^)(NSProgress *uploadProgress)) uploadProgressBlock downloadProgress:(nullable void (^)(NSProgress *

    77850发布于 2021-09-02
  • 来自专栏正则

    AFNetworking源码探究(三) —— GET请求实现之任务进度设置和通知监听

    Of course, if an NSProgress is cancellable you should actually implement cancellability by setting a 对于这些属性,NSProgress默认为符合KVO标准,并且通知始终在更新属性的线程上发送。 这些属性用于传递是否应该在进度报告用户界面中显示取消和暂停的控件。 NSProgress本身不会对这些属性做任何事情,除了帮助将进度记录的值传递给进度观察员。 在NSProgress的生命周期中,这些属性的值实际上以任何方式改变都是有效的。 当然,如果一个NSProgress可以被取消,你应该通过设置一个取消处理程序或者让你的代码轮询调用-isCancelled的结果来实现可取消性。 同样适用于pausability。 即使该方法在接收方的super类上调用,或者由于发布接收方或接收方的super类而导致的另一个进程中的NSProgress实例,也会调用该block。 您的块不会在任何特定队列上调用。

    67140发布于 2021-09-02
  • 来自专栏ShaoYL

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

    NSURLSession AFURLSessionManager AFHTTPSessionManager(封装了常用的 HTTP 方法) GET POST UIKit + AFNetworking 分类 NSProgress int64_t totalUnitCount; 需要下载文件的总大小 @property int64_t completedUnitCount; 当前已经下载的大小 */ NSProgress filePath, NSError *error) { NSLog(@"%@",filePath.absoluteString); }]; /* 要跟踪进度,需要使用 NSProgress NSProgress只是一个对象!如何跟踪进度!-> KVO 对属性变化的监听! [downTask resume]; } // 收到通知调用的方法 - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(NSProgress

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

    AFNetworking源码探究(二十三) —— UIKit相关之UIWebView+AFNetworking分类(六)

    . */ - (void)loadRequest:(NSURLRequest *)request progress:(NSProgress * _Nullable __autoreleasing NSString *)MIMEType textEncodingName:(nullable NSString *)textEncodingName progress:(NSProgress - (void)loadRequest:(NSURLRequest *)request progress:(NSProgress * _Nullable __autoreleasing NSString *)MIMEType textEncodingName:(nullable NSString *)textEncodingName progress:(NSProgress 加载指定请求 主要看一下实现 - (void)loadRequest:(NSURLRequest *)request progress:(NSProgress * _Nullable

    67820发布于 2021-09-03
  • 来自专栏正则

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

    parameters:(nullable id)parameters progress:(nullable void (^)(NSProgress parameters:(nullable id)parameters progress:(nullable void (^)(NSProgress parameters:(nullable id)parameters progress:(nullable void (^)(NSProgress parameters:(nullable id)parameters progress:(nullable void (^)(NSProgress

    42210发布于 2021-09-04
  • 来自专栏iOSer成长记录

    AFNetworking 源码阅读(v3.2.1)

    id <AFMultipartFormData> formData))block progress:(nullable void (^)(NSProgress void (^)(id <AFMultipartFormData> formData))block progress:(nullable void (^)(NSProgress uploadProgress)) uploadProgress downloadProgress:(nullable void (^)(NSProgress NSURLRequest *)request progress:(nullable void (^)(NSProgress *uploadProgress)) uploadProgressBlock downloadProgress:(nullable void (^)(NSProgress *

    2.5K20发布于 2018-07-05
  • 来自专栏日常技术分享

    iOS AFNetWrking PostBody传参

    postData]; NSURLSessionDataTask *dataTask = [manager dataTaskWithRequest:request uploadProgress:^(NSProgress * _Nonnull uploadProgress) { } downloadProgress:^(NSProgress * _Nonnull downloadProgress

    1.4K20发布于 2019-06-15
  • 来自专栏iOS技术杂谈

    iOS网络——AFNetworking AFURLSessionManager源码解析

    NSProgress - (nullable NSProgress *)downloadProgressForTask:(NSURLSessionTask *)task; ///----------- @property (nonatomic, strong) NSProgress *uploadProgress; //下载进度NSProgress @property (nonatomic, strong alloc] initWithParent:nil userInfo:nil]; _downloadProgress = [[NSProgress alloc] initWithParent: nil userInfo:nil]; //遍历两个上传和下载NSProgress设置一些属性 __weak __typeof__(task) weakTask = task; for (NSProgress *progress in @[ _uploadProgress, _downloadProgress ]) { //初始化progress

    4.8K70发布于 2018-04-10
  • 来自专栏我只不过是出来写写iOS

    AFNetworking框架分析(三)——AFURLSessionManager(下)

    *uploadProgress)) uploadProgressBlock downloadProgress:(nullable void (^)(NSProgress *downloadProgress 其内部实现中设置这两个NSProgress对应的cancel、pause和resume这三个状态,正好对应session task的cancel、suspend和resume三个状态。 当task任务的进度发生变化时,KVO则更新对应的progress属性值,然后赋新值触发时会执行KVO代理中上传或者下载progress的处理,将执行对应的包含object(属性为NSProgress) 的代码块,该代码块也就是最终执行网络请求方法中progress:(void (^)(NSProgress * _Nonnull))uploadProgress位置的block代码块。 此处代码块中可根据NSProgress的状态做用户自定义的行为,比如需要更新UI进度条的状态之类等等。 ?

    92720发布于 2019-04-02
  • 来自专栏Alice

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

    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; [manager GET:URL parameters:nil progress:^(NSProgress NSMutableDictionary *parameters = @{@"":@"",@"":@""}; [manager POST:URL parameters:parameters progress:^(NSProgress //下载任务 NSURLSessionDownloadTask *task = [manager downloadTaskWithRequest:request progress:^(NSProgress appendPartWithFileData:data name:@"file" fileName:@"123.png" mimeType:@"image/png"]; } progress:^(NSProgress name:@"file" fileName:@"1234.png" mimeType:@"application/octet-stream" error:nil]; } progress:^(NSProgress

    3.3K90发布于 2018-02-01
  • 来自专栏APP自动化测试

    基于AFN封装的带缓存的网络请求

    : %lu", status); }]; ##默认请求样式 //使用默认请求样式: [_nvNetworking get:@"/open/ads" parameters:nil progress:^(NSProgress nil requestSerializer:requestSerializer responseSerializer:responseSerializer header:nil progress:^(NSProgress NVNetworking shareInstance]; [manager upload:@"/file/upload" parameters:nil uploadParam:uploadParam progress:^(NSProgress NVNetworking shareInstance]; [manager upload:@"/file/upload" parameters:nil uploadParams:array progress:^(NSProgress

    73750发布于 2019-10-15
  • 来自专栏陈满iOS

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

    self.urlStr = @"http://10.20.201.78/test3.pdf"; [manager GET:_urlStr parameters:nil progress:^(NSProgress uploadProgress)) uploadProgress downloadProgress:(nullable void (^)(NSProgress uploadProgress)) uploadProgressBlock downloadProgress:(nullable void (^)(NSProgress */ NSURLSessionDownloadTask *downloadTask = [manager downloadTaskWithRequest:request progress:^(NSProgress *uploadProgress)) uploadProgressBlock downloadProgress:(nullable void (^)(NSProgress *

    4K30发布于 2018-09-10
  • 来自专栏iOS技术杂谈

    iOS网络——AFNetworking AFHttpSessionManager源码解析

    id <AFMultipartFormData> formData))block progress:(nullable void (^)(NSProgress NSString *)URLString parameters:(id)parameters progress:(void (^)(NSProgress *)URLString parameters:(id)parameters progress:(void (^)(NSProgress void (^)(id <AFMultipartFormData> formData))block progress:(nullable void (^)(NSProgress uploadProgress)) uploadProgress downloadProgress:(nullable void (^)(NSProgress

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

    AFNetworking简单封装(Block形式)

    Authorization"]; } //GET/POST [manager GET:url parameters:pars progress:^(NSProgress Authorization"]; } //GET/POST [manager POST:url parameters:pars progress:^(NSProgress

    1.4K10发布于 2019-10-22
领券