本文主要是介绍(十二)-利用ASIHTTPRequest进行异步获取数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
IOS开发---菜鸟学习之路--(十二)-利用ASIHTTPRequest进行异步获取数据
想要实现异步获取的话我这边了解过来有两个非常简单的方式
一个是利用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 进行异步获取数据。。那个。。更加的简单。
这篇关于(十二)-利用ASIHTTPRequest进行异步获取数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!