频道栏目
首页 > 程序开发 > 移动开发 > IOS > 正文
IOS开发---菜鸟学习之路--(十二)-利用ASIHTTPRequest进行异步获取数据
2013-12-24 08:14:34           
收藏   我要投稿
想要实现异步获取的话我这边了解过来有两个非常简单的方式

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

 

#pragma mark

#pragma 异步加载数据

//初始化数据 异步加载

-(void)initListData{

    //    NSURL *url=[NSURL URLWithString:@"https://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本章内容非常少,但是。。。却会很使用,然后。。真的就是这么简单。。

 

 

 

点击复制链接 与好友分享!回本站首页
相关TAG标签 菜鸟 之路 数据
上一篇:iOS NSDictionary
下一篇:ios学习笔记——简单控件(动态指示标识、进度条)
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站