第三方的等待指示器,MBProgressHUD就是第三方提供的等待指示器框架。下面是MBProgressHUD提供的等待指示器样式,它们基本可以分为:未知结束时间和已知结束时间两大类等待指示器,在MBProgressHUD中可以为等待指示器添加标签和详细标签

MBProgressHUD的下载地址是https://github.com/matej/MBProgressHUD,我们将下载的源文件中的MBProgressHUD.h和MBProgressHUD.m拷贝到自己的工程中,MBProgressHUD依赖的框架有:Foundation.framework、UIKit.framework和CoreGraphics.framework,我们需要将这些框架添加到工程中。

我们为应用添加MBProgressHUD等待指示器,修改主视图控制器MasterViewController.m的startRequest方法代码如下,注意加粗部分:

[cpp] view plaincopyprint?
  1. -(void)startRequest
  2. {
  3. //初始化MBProgressHUD
  4. MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
  5. hud.mode = MBProgressHUDModeCustomView;
  6. hud.labelText = @”Loading”;
  7. NSString *strURL = [[NSString alloc]
  8. initWithFormat:@”http://iosbook3/mynotes/webservice.php”];
  9. NSURL *url = [NSURL URLWithString:[strURL URLEncodedString]];
  10. NSString *post;
  11. if (action == ACTION_QUERY) {//查询处理
  12. post = [NSString stringWithFormat:@"email=%@&type=%@&action=%@",
  13. @"<你的iosbook1.com用户邮箱>",@"JSON",@"query"];
  14. } else if (action == ACTION_REMOVE) {//删除处理
  15. NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
  16. NSMutableDictionary*  dict = self.listData[indexPath.row];
  17. post = [NSString stringWithFormat:@"email=%@&type=%@&action=%@&id=%@",
  18. @"<你的iosbook1.com用户邮箱>",@"JSON",@"remove",[dict objectForKey:@"ID"]];
  19. }
  20. NSData *postData  = [post dataUsingEncoding:NSUTF8StringEncoding];
  21. NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
  22. [request setHTTPMethod:@"POST"];
  23. [request setHTTPBody:postData];
  24. NSURLConnection *connection = [[NSURLConnection alloc]
  25. initWithRequest:request delegate:self];
  26. if (connection) {
  27. _datas = [NSMutableData new];
  28. }
  29. }
  30. -(void) connection:(NSURLConnection *)connection didFailWithError: (NSError *)error {
  31. NSLog(@”%@”,[error localizedDescription]);
  32. [MBProgressHUD hideHUDForView:self.view animated:YES];
  33. }
  34. - (void) connectionDidFinishLoading: (NSURLConnection*) connection {
  35. NSLog(@”请求完成…”);
  36. NSDictionary* dict = [NSJSONSerialization JSONObjectWithData:_datas
  37. options:NSJSONReadingAllowFragments error:nil];
  38. if (action == ACTION_QUERY) {//查询处理
  39. [self reloadView:dict];
  40. } else if (action == ACTION_REMOVE) {//删除处理
  41. NSString *message = @”操作成功。”;
  42. NSNumber *resultCodeObj = [dict objectForKey:@"ResultCode"];
  43. if ([resultCodeObj integerValue] < 0) {
  44. message = [resultCodeObj errorMessage];
  45. }
  46. UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@”提示信息”
  47. message:message
  48. delegate:nil
  49. cancelButtonTitle:@”OK”
  50. otherButtonTitles: nil];
  51. [alertView show];
  52. //重新查询
  53. action = ACTION_QUERY;
  54. [self startRequest];
  55. }
  56. [MBProgressHUD hideHUDForView:self.view animated:YES];
  57. }

iOS网络编程-MBProgressHUD等待指示器相关推荐

  1. iOS网络编程-iCloud键值数据存储编程实例

    iCloud键值数据存储设计 iCloud键值数据存储编程实例,画面中有两个开关控件,左图是设备1点击"设置iCloud数据"按钮,将控件状态保存到iCloud服务器.右图是设备2 ...

  2. iOS网络编程开发—HTTP协议

    iOS网络编程开发-HTTP协议 说明:apache tomcat服务器必须占用8080端口 一.URL 1.基本介绍 URL的全称是Uniform Resource Locator(统一资源定位符) ...

  3. iOS网络编程-配置iCloud-图文解说

    配置iCloud 开发iCloud应用一方面需要准备真实的iOS设备,另一方面还需要有iOS开发者账号, 使 用iOS开发者账号登录到iOS开发中心的配置门户网站(iOS Provisioning P ...

  4. iOS网络编程开发-数据加密

    iOS网络编程开发-数据加密 一.简单说明 1.说明 在开发应用的时候,数据的安全性至关重要,而仅仅用POST请求提交用户的隐私数据,还是不能完全解决安全问题. 如:可以利用软件(比如Charles) ...

  5. 《iOS网络编程与云端应用最佳实践》微博转发送书了!

    <iOS网络编程与云端应用最佳实践>微博转发送书了! 新浪微博地址:http://weibo.com/2078101705/zy15U4a5D,转发本条微博即有机会获得<iOS网络编 ...

  6. 转发网络《iOS网络编程与云端应用最佳实践》微博转发送书了

    在写这篇文章之前,xxx已经写过了几篇关于改转发网络主题的文章,想要了解的朋友可以去翻一下之前的文章 <iOS网络编程与云端应用最佳实践>微博转发送书了! 新浪微博地址:http://we ...

  7. iOS项目开发实战——iOS网络编程获取网页Html源代码

    如今我们身处互联网的时代,任何一个软件或是App,都会或多或少与网络打交道,并不断发生数据交互.一个没有涉及网络编程的应用会显得比较low,这里我们将会开始使用Swift开发iOS应用,并且主要来实现 ...

  8. iOS网络编程之同步、异步、请求队列

    1. 同步意为着线程阻塞,在主线程中使用此方法会不响应任何用户事件.所以,在应用程序设计时,大多被用在专门的子线程增加用户体验,或用异步请求代替. - (IBAction)grabURL:(id)se ...

  9. 文档容器iOS网络编程-iCloud文档存储编程实例

    在本文中,我们主要绍介文档容器的容内,自我感觉有个不错的建议和大家分享下 iCloud文档存储程编对相键值据数存储而言比较复杂,涉及到自定义文档类.取得iCloud文档录目.找查Ubiquity容器中 ...

最新文章

  1. 内存泄漏检测工具VLD在VS2010中的使用举例
  2. linux 防火墙 命令
  3. Java 线程 笔记(1)
  4. Daily Storm - 31/10/12
  5. Vim编程之:tags,cscope,taglist
  6. [UVALive 7143]Room Assignment(Dp)
  7. Problem - 4828 Grids
  8. 关于远程终端不能登录问题解决!
  9. java开发电脑分频器,FPGA设计——分频器(2.5分频器的程序)
  10. Windows应用替代方案接龙
  11. SOTA级发丝抠图模型PP-Matting开源,支持多场景精细化分割
  12. SASE 本质探究(1):什么是云化
  13. QT 基于Libvlc的视频播放器
  14. Cheat Engine(CE)-----下载安装及入门
  15. 辽宁科技大学计算机与软件工程学院调剂,辽宁科技大学2019年硕士研究生调剂信息...
  16. halo_Halo 3评论
  17. 华为服务器RH2288 V3怎样配置RAID
  18. 网吧Windows XP母盘制作详解(转)
  19. 信号采样频率和信号频率的关系
  20. 大学生书店网页设计制作 简单静态在线书店HTML网页作品 小说书籍网页作业成品 学生期末作业网站模板

热门文章

  1. linux裸设备文件系统,关于裸设备,文件系统,CIO/DIO
  2. 计算机切换用户神魔意思,快速切换用户是什么意思?
  3. 怎么用命令改变legend在图中的位置
  4. 中国农业大学专业学位计算机,中国农业大学(专业学位)计算机技术研究生考试科目和考研参考书目...
  5. 物联网通信技术第9章 异构网络协同通信
  6. 美服行星边际2服务器维护时间,行星边际2美服证书 快速起步攻略新手必读
  7. Spring学习笔记(完结)
  8. 人大金仓windows 10 安装闪退,改绿色安装方法,
  9. Javaweb酒店预约管理系统(框架SpringBoot+Vue)
  10. Axure 9 实战案例,基本元件的应用 1,用矩形与标题设计视频封面