SDWebImage\ASIHttpRequest是第三方库

第三方库可能采用了MRC,这时需要我们进行ARC与MRC的混编,-fno-objc-arc。

SDWebImage是一个第三方类库。这个类库中提供了一个UIImageView类别以支持加载来自网络的远程图片。具有缓存管理、异步下载、同一个URL下载次数控制和优化等特征。 导入这个类库中的#import"UIImageView+WebCache.h"  可以将请求下来的图片放在缓存区中,等待解析。这个第三方库中有一个setImageWithURL的方法,这是异步请求,需要先将图片的完整地址从字符串转换成NSURL,速度更快相比于同步请求。(同步请求需要先将字符串转换成NSURL,再将URL转换成NSData,最后将NSData转换成NSImage).

-(void)pressBtn:(id)sender

{

    //点击导航条上的按钮后开始获取网址下的数据

    //<1>

    NSString * path =@"http://yl.cms.palmtrends.com/api_v2.php?action=lastest_list&sa=news&offset=1&count=15&uid=10288928&platform=a";

    //<2>

    NSURL * url = [NSURLURLWithString:path];

    //<3>

    NSURLRequest * request = [NSURLRequestrequestWithURL:url];

    //<4>

    [NSURLConnectionconnectionWithRequest:request delegate:self];

}

-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response

{

    NSLog(@"开始");

    if(myData ==nil)

    {

        myData = [[NSMutableDataalloc]init];

    }

    else

    {

        myData.length =0;

    }

}

-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data

{

    

    [myData appendData:data];

}

-(void)connectionDidFinishLoading:(NSURLConnection *)connection

{

    NSLog(@"请求结束");

    NSDictionary * dic = [NSJSONSerializationJSONObjectWithData:myDataoptions:NSJSONReadingMutableContainerserror:nil];

    NSArray * array = [dic objectForKey:@"list"];

    [dataSourceaddObjectsFromArray:array];

    

    [tablereloadData];

}


在使用ASI获取数据的时候不仅要导入ASIHttpRequest这个第三方库,还要导入一些框架. 使用ASI同样要遵守协议,实现三个必须实现的方法.  不过现在ASI不再更新了,用的更多的是AFN。

- (void)pressBarButton:(id)sender

{

    NSString * path = PATH;

    NSURL * url = [NSURLURLWithString:path];

    request1 = [ASIHTTPRequestrequestWithURL:url];

    request1.delegate =self;

    //开始异步请求   对应的还有同步请求

    [request1 startAsynchronous];

}

//实现协议中的方法

- (void)requestStarted:(ASIHTTPRequest *)request

{

    NSLog(@"获取数据成功");

}

- (void)requestFailed:(ASIHTTPRequest *)request

{

    NSLog(@"获取数据失败");

}

- (void)requestFinished:(ASIHTTPRequest *)request

{

    NSData * data =request1.responseData;

    NSDictionary * dic = [NSJSONSerializationJSONObjectWithData:data options:NSJSONReadingMutableContainerserror:nil];

    NSArray * arr = [dic objectForKey:@"users"];

    [dataSourceaddObjectsFromArray:arr];

    

    [tablereloadData];// 数据源中数据发生改变,表格必须刷新,以更新数据

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值