博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IOS开发---菜鸟学习之路--(十二)-利用ASIHTTPRequest进行异步获取数据
阅读量:5272 次
发布时间:2019-06-14

本文共 2218 字,大约阅读时间需要 7 分钟。

想要实现异步获取的话我这边了解过来有两个非常简单的方式

一个是利用ASIHTTPRequest来实现异步获取数据

另一个则是利用MBProgressHUD来实现异步获取数据

本章就先来讲解如何利用ASIHTTPRequest类来实现异步数据获取

首先大家需要百度一下ASIHTTPRequest 然后看一下百度里搜到的那些文章(不要问具体是那篇,因为我发现百度搜过来的东西全部都是一样的,所以。。。。大致看下 哪篇都一样的就知道我说的是哪篇了,这也是为什么我决定自己写点内容的原因。再次吐槽百度个坑爹的家伙。)

看完了的话就接着看我们的内容吧

需要添加的类库

CFNetwork.framework ,SystemConfiguration.framework, MobileCoreServices.framework,CoreGraphics.framework和libz.1.2.3.dylib

我就直接上代码了我这边使用的是ASIFormDataRequest,使用前需要引用头文件 ASIFormDataRequest.h

我这边在GetWebInfo类里面定义了一个nsstring 类型的mywebaddress属性用来存放地址,这样的话可以便于我们管理地址

#pragma mark#pragma 异步加载数据//初始化数据 异步加载-(void)initListData{    //    NSURL *url=[NSURL URLWithString:@"http://xxx.xxx.xxx.xxx/WebServicesForIOS/IOSWebservices.ashx?Method=GetNewsbyPage&type=公共新闻&rows=4&page=1"];    GetWebInfo *getwebinfo=[[GetWebInfo alloc] init];    NSURL *url=[NSURL URLWithString:getwebinfo.mywebaddress];    ASIFormDataRequest *request=[ASIFormDataRequest requestWithURL:url];    NSString *mypage=[NSString  stringWithFormat:@"%d",_page ];    [request addPostValue:@"GetNewsbyPage" forKey:@"Method"];    [request addPostValue:@"公共新闻" forKey:@"type"];    [request addPostValue:@"4" forKey:@"rows"];    [request addPostValue:mypage forKey:@"page"];    [request setDelegate:self];    [request startAsynchronous];}//异步加载成功- (void)requestFinished:(ASIHTTPRequest *)request{    NSData *responseData = [request responseData];    NSArray *keys =   [NSJSONSerialization                       JSONObjectWithData:responseData                       options:NSJSONReadingMutableContainers                       error:nil];    allcount=[[keys valueForKey:@"total"] integerValue];    [self.list addObject:[keys valueForKey:@"rows"]];    [_tableView reloadData];}//异步加载失败- (void)requestFailed:(ASIHTTPRequest *)request{    //      NSError *error = [request error];    UIAlertView *alert=[[UIAlertView alloc] initWithTitle:@"提示信息!" message:@"加载数据失败!网络连接失败!" delegate:Nil                                        cancelButtonTitle:@"确定" otherButtonTitles: nil];    [alert show];}

 

代码就是这么简单,一个是异步获取失败方法,一个是异步获取成功方法。。。。 

然后就没有然后了。。。。就是这么的简单。

OK本章内容非常少,但是。。。却会很使用,然后。。真的就是这么简单。。

下一章会介绍如何利用 MBProgressHUD 进行异步获取数据。。那个。。更加的简单。

 

 

转载于:https://www.cnblogs.com/PleaseInputEnglish/p/3486548.html

你可能感兴趣的文章
iOS-程序启动原理和UIApplication
查看>>
mysql 8.0 zip包安装
查看>>
awk 统计
查看>>
CSS min-height 属性
查看>>
模板设计模式的应用
查看>>
实训第五天
查看>>
平台维护流程
查看>>
2012暑期川西旅游之总结
查看>>
Linux发行版的排行
查看>>
12010 解密QQ号(队列)
查看>>
2014年辛星完全解读Javascript第一节
查看>>
装配SpringBean(一)--依赖注入
查看>>
daydayup2 codeforces143C
查看>>
ANT打包J2EE项目war包
查看>>
UESTC-我要长高 DP优化
查看>>
java选择文件时提供图像缩略图[转]
查看>>
方维分享系统二次开发, 给评论、主题、回复、活动 加审核的功能
查看>>
Matlab parfor-loop并行运算
查看>>
string与stringbuilder的区别
查看>>
2012-01-12 16:01 hibernate注解以及简单实例
查看>>