iOS网络编程-MBProgressHUD等待指示器
第三方的等待指示器,MBProgressHUD就是第三方提供的等待指示器框架。下面是MBProgressHUD提供的等待指示器样式,它们基本可以分为:未知结束时间和已知结束时间两大类等待指示器,在MBProgressHUD中可以为等待指示器添加标签和详细标签
MBProgressHUD的下载地址是https://github.com/matej/MBProgressHUD,我们将下载的源文件中的MBProgressHUD.h和MBProgressHUD.m拷贝到自己的工程中,MBProgressHUD依赖的框架有:Foundation.framework、UIKit.framework和CoreGraphics.framework,我们需要将这些框架添加到工程中。
我们为应用添加MBProgressHUD等待指示器,修改主视图控制器MasterViewController.m的startRequest方法代码如下,注意加粗部分:
- -(void)startRequest
- {
- //初始化MBProgressHUD
- MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
- hud.mode = MBProgressHUDModeCustomView;
- hud.labelText = @”Loading”;
- NSString *strURL = [[NSString alloc]
- initWithFormat:@”http://iosbook3/mynotes/webservice.php”];
- NSURL *url = [NSURL URLWithString:[strURL URLEncodedString]];
- NSString *post;
- if (action == ACTION_QUERY) {//查询处理
- post = [NSString stringWithFormat:@"email=%@&type=%@&action=%@",
- @"<你的iosbook1.com用户邮箱>",@"JSON",@"query"];
- } else if (action == ACTION_REMOVE) {//删除处理
- NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
- NSMutableDictionary* dict = self.listData[indexPath.row];
- post = [NSString stringWithFormat:@"email=%@&type=%@&action=%@&id=%@",
- @"<你的iosbook1.com用户邮箱>",@"JSON",@"remove",[dict objectForKey:@"ID"]];
- }
- NSData *postData = [post dataUsingEncoding:NSUTF8StringEncoding];
- NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
- [request setHTTPMethod:@"POST"];
- [request setHTTPBody:postData];
- NSURLConnection *connection = [[NSURLConnection alloc]
- initWithRequest:request delegate:self];
- if (connection) {
- _datas = [NSMutableData new];
- }
- }
- -(void) connection:(NSURLConnection *)connection didFailWithError: (NSError *)error {
- NSLog(@”%@”,[error localizedDescription]);
- [MBProgressHUD hideHUDForView:self.view animated:YES];
- }
- - (void) connectionDidFinishLoading: (NSURLConnection*) connection {
- NSLog(@”请求完成…”);
- NSDictionary* dict = [NSJSONSerialization JSONObjectWithData:_datas
- options:NSJSONReadingAllowFragments error:nil];
- if (action == ACTION_QUERY) {//查询处理
- [self reloadView:dict];
- } else if (action == ACTION_REMOVE) {//删除处理
- NSString *message = @”操作成功。”;
- NSNumber *resultCodeObj = [dict objectForKey:@"ResultCode"];
- if ([resultCodeObj integerValue] < 0) {
- message = [resultCodeObj errorMessage];
- }
- UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@”提示信息”
- message:message
- delegate:nil
- cancelButtonTitle:@”OK”
- otherButtonTitles: nil];
- [alertView show];
- //重新查询
- action = ACTION_QUERY;
- [self startRequest];
- }
- [MBProgressHUD hideHUDForView:self.view animated:YES];
- }
iOS网络编程-MBProgressHUD等待指示器相关推荐
- iOS网络编程-iCloud键值数据存储编程实例
iCloud键值数据存储设计 iCloud键值数据存储编程实例,画面中有两个开关控件,左图是设备1点击"设置iCloud数据"按钮,将控件状态保存到iCloud服务器.右图是设备2 ...
- iOS网络编程开发—HTTP协议
iOS网络编程开发-HTTP协议 说明:apache tomcat服务器必须占用8080端口 一.URL 1.基本介绍 URL的全称是Uniform Resource Locator(统一资源定位符) ...
- iOS网络编程-配置iCloud-图文解说
配置iCloud 开发iCloud应用一方面需要准备真实的iOS设备,另一方面还需要有iOS开发者账号, 使 用iOS开发者账号登录到iOS开发中心的配置门户网站(iOS Provisioning P ...
- iOS网络编程开发-数据加密
iOS网络编程开发-数据加密 一.简单说明 1.说明 在开发应用的时候,数据的安全性至关重要,而仅仅用POST请求提交用户的隐私数据,还是不能完全解决安全问题. 如:可以利用软件(比如Charles) ...
- 《iOS网络编程与云端应用最佳实践》微博转发送书了!
<iOS网络编程与云端应用最佳实践>微博转发送书了! 新浪微博地址:http://weibo.com/2078101705/zy15U4a5D,转发本条微博即有机会获得<iOS网络编 ...
- 转发网络《iOS网络编程与云端应用最佳实践》微博转发送书了
在写这篇文章之前,xxx已经写过了几篇关于改转发网络主题的文章,想要了解的朋友可以去翻一下之前的文章 <iOS网络编程与云端应用最佳实践>微博转发送书了! 新浪微博地址:http://we ...
- iOS项目开发实战——iOS网络编程获取网页Html源代码
如今我们身处互联网的时代,任何一个软件或是App,都会或多或少与网络打交道,并不断发生数据交互.一个没有涉及网络编程的应用会显得比较low,这里我们将会开始使用Swift开发iOS应用,并且主要来实现 ...
- iOS网络编程之同步、异步、请求队列
1. 同步意为着线程阻塞,在主线程中使用此方法会不响应任何用户事件.所以,在应用程序设计时,大多被用在专门的子线程增加用户体验,或用异步请求代替. - (IBAction)grabURL:(id)se ...
- 文档容器iOS网络编程-iCloud文档存储编程实例
在本文中,我们主要绍介文档容器的容内,自我感觉有个不错的建议和大家分享下 iCloud文档存储程编对相键值据数存储而言比较复杂,涉及到自定义文档类.取得iCloud文档录目.找查Ubiquity容器中 ...
最新文章
- 内存泄漏检测工具VLD在VS2010中的使用举例
- linux 防火墙 命令
- Java 线程 笔记(1)
- Daily Storm - 31/10/12
- Vim编程之:tags,cscope,taglist
- [UVALive 7143]Room Assignment(Dp)
- Problem - 4828 Grids
- 关于远程终端不能登录问题解决!
- java开发电脑分频器,FPGA设计——分频器(2.5分频器的程序)
- Windows应用替代方案接龙
- SOTA级发丝抠图模型PP-Matting开源,支持多场景精细化分割
- SASE 本质探究(1):什么是云化
- QT 基于Libvlc的视频播放器
- Cheat Engine(CE)-----下载安装及入门
- 辽宁科技大学计算机与软件工程学院调剂,辽宁科技大学2019年硕士研究生调剂信息...
- halo_Halo 3评论
- 华为服务器RH2288 V3怎样配置RAID
- 网吧Windows XP母盘制作详解(转)
- 信号采样频率和信号频率的关系
- 大学生书店网页设计制作 简单静态在线书店HTML网页作品 小说书籍网页作业成品 学生期末作业网站模板
热门文章
- linux裸设备文件系统,关于裸设备,文件系统,CIO/DIO
- 计算机切换用户神魔意思,快速切换用户是什么意思?
- 怎么用命令改变legend在图中的位置
- 中国农业大学专业学位计算机,中国农业大学(专业学位)计算机技术研究生考试科目和考研参考书目...
- 物联网通信技术第9章 异构网络协同通信
- 美服行星边际2服务器维护时间,行星边际2美服证书 快速起步攻略新手必读
- Spring学习笔记(完结)
- 人大金仓windows 10 安装闪退,改绿色安装方法,
- Javaweb酒店预约管理系统(框架SpringBoot+Vue)
- Axure 9 实战案例,基本元件的应用 1,用矩形与标题设计视频封面