AFHTTPRequestOperationManager网络请求的时候添加一个菊花

问:

Can you help me to understand, how to use UIActivityIndicatorView+AFNetworking or
UIProgressView+AFNetworking. Do I need to create one more UIViewController and if yes, where do I need to implement it? have found out that I need to use
setProgressWithUploadProgressOfOperation or setAnimatingWithStateOfOperation, but I still need an example.

my code is:

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer = [AFJSONResponseSerializer serializer];
[manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[manager.requestSerializer setValue:@"" forHTTPHeaderField:@""];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
[manager GET:@"blablabla" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {

    // 3
    //[self.view setAnimatingWithStateOfOperation:operation];
    NSLog(@"JSON: %@", responseObject);
    NSArray *carsList = responseObject[@"data"];
    [self showStream:carsList];

} failure:^(AFHTTPRequestOperation *operation, NSError *error) {

    // 4
    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error"
                                                        message:[error localizedDescription]
                                                       delegate:nil
                                              cancelButtonTitle:@"Ok"
                                              otherButtonTitles:nil];
    [alertView show];
}];

答:

I guess, you want to show UIActivityIndicator while operation is loading. So you have to do something like this:

// your code

AFHTTPRequestOperation *operation = [manager GET:@"blablabla" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
    // even more code
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    // and here
}];

UIActivityIndicatorView *indicatorView = [[UIActivityIndicatorView alloc] init];
indicatorView.frame = /*calculate frame here*/;
[self.view addSubView:indicatorView];
[indicatorView setAnimatingWithStateOfOperation:operation];
时间: 2024-08-09 10:49:24

AFHTTPRequestOperationManager网络请求的时候添加一个菊花的相关文章

iOS网络请求 添加全局代理 NSURLSessionConfiguration 解决方案

1.最近做项目.文件存储服务器是用的亚马逊的.如果直接访问.下载其资源速度很慢.所以需要在网络请求的时候添加一个代理.加速网络访问 2.代理服务器是一个HTTPS 的一个服务器 3.思路.解决方案.利用运行时机制(添加分类NSURLSession+Change)针对  NSURLSession 初始化添加代理对所有的网络请求进行拦截处理 #import "NSURLSession+Change.h" @implementation NSURLSession (Change) +(voi

网络请求后关于刷新界面UI的问题

? ? ? ?做项目的时候遇到了问题.同步请求不能刷新界面. ? ? ? ?原来设想:在同步请求的方法内,同步请求之前,添加一个菊花.同步请求拿到结果后再移除菊花. ? ? ? ?现实情况:菊花根本不显示.坑啊. ? ? ? ?自此开始了整整一天的挣扎.后来问了朋友.说是同步请求冻结界面,让我用异步请求试试.后来用异步请求网络后,在主线程刷新界面,就可以了. ? ? ? ?我到现在也没明白苹果的冻结视图,到底为什么?有朋友知道答案了,帮忙解惑.谢谢.

Swift网络请求(Moya篇)

在使用Alamofire进行网络请求的时候,相信大部分的同学都会封装一个抽象的NetworkLayer,如"APIManager" 或者 "NetworkModel"等等.但是位置业务功能增加,会渐渐混合各种请求,不够清晰,而Moya能很好地解决这类问题.Moya在Alamofire基础上进行封装,是一个允许高度自定义的网络层,可以根据具体的需求进行接口的设置.具体的介绍可以参考Moya的官方链接,结构图如下: 接下来就介绍一下Moya的一些常见的用法: (一)根据

RxJava + Retrofit完成网络请求

1.前言 本文基于RxJava.Retrofit的使用,若是对RxJava或Retrofit还不了解的简友可以先了解RxJava.Retrofit的用法再来看这篇文章. 在这片文章之前分别单独介绍过Rxjava以及Retrofit的使用: Android Retrofit 2.0 的使用 Android RxJava的使用(一)基本用法 2.使用 在了解了RxJava和Retrofit分别的用法后,RxJava.Retrofit的搭配使用也就不再话下了. 先看看使用Retrofit完成一次网络请

Volley与XUtils网络请求使用对比,心得,两者基本使用

之前一直使用的Volley作为网络请求框架,它是Google 在2013年的I/O大会 上,发布的.Volley是Android平台上的网络通信库,能使网络通信更快,更简单,更健壮,同时扩展性很强.在用它之前我进行了简单的封装,因为Volley默认的请求线程生命周期伴随着Activity的周期,这有时并不能满足项目需要,so上代码: 1 <span style="font-size:14px;"><span style="font-size:14px;&qu

iOS_第3方网络请求_YTKNetwork

github地址:https://github.com/yuantiku/YTKNetwork/blob/master/ProGuide.md YTKNetwork 是什么 YTKNetwork 是猿题库 iOS 研发团队基于 AFNetworking 封装的 iOS 网络库,其实现了一套 High Level 的 API,提供了更高层次的网络访问抽象. YTKNetwork提供了哪些功能 相比 AFNetworking,YTKNetwork 提供了以下更高级的功能: 支持按时间缓存网络请求内容

App 组件化/模块化之路——如何封装网络请求框架

App 组件化/模块化之路——如何封装网络请求框架 在 App 开发中网络请求是每个开发者必备的开发库,也出现了许多优秀开源的网络请求库.例如 okhttp retrofit android-async-http 这些网络请求库很大程度上提高程序猿的编码效率.但是随着业务的发展,App 变得越来越大,我们将这些网络请求库加入到项目中直接使用,对我们业务类的入侵是非常强的.如果要进行业务分离时,这些网络请求代码将是一个阻止我们进一步工作的绊脚石.对开发者来说是非常痛苦的. 因此我们构建的网络请求框

aiohttp你不知道的异步操作网络请求

aiohttp支持异步操作的网络请求的模块 1.一个简单异步协程爬取 read() text(encoding=编码) 比如:await r.text(encoding="utf-8") import asyncio import aiohttp async def request(url): print("当前url:",url) #使用aiohttp发起request请求. async with aiohttp.request("GET",u

造轮子 | 如何设计一个面向协议的 iOS 网络请求库

最近开源了一个面向协议设计的网络请求库 MBNetwork,基于 Alamofire 和 ObjectMapper 实现,目的是简化业务层的网络请求操作. 需要干些啥 对于大部分 App 而言,业务层做一次网络请求通常关心的问题有如下几个: 如何在任意位置发起网络请求. 表单创建.包含请求地址.请求方式(GET/POST/--).请求头等-- 加载遮罩.目的是阻塞 UI 交互,同时告知用户操作正在进行.比如提交表单时在提交按钮上显示 "菊花",同时使其失效. 加载进度展示.下载上传图片