iOS网络编程-MBProgressHUD等待指示器

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

 

 

910

 

 

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];

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值