文档章节

AFNetworking下载数据Demo

 郭建军oo
发布于 2015/08/26 11:05
字数 365
阅读 26
收藏 0

#import "ConnectionController.h"

#define kContentUrl @"http://223.6.252.214/weibofun/weibo_list.php?apiver=10500&category=weibo_pics&page=1&page_size=30&max_timestamp=-1"


@interface ConnectionController ()


@end


@implementation ConnectionController


- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view.

    //self.view.backgroundColor=[UIColor redColor];

    [self createtableView];

    [self createRequest];

    [self loadDataWithPage];

    

}


//创建tableView

-(void)createtableView

{

    self.tableView=[[UITableView alloc]initWithFrame:self.view.frame style:UITableViewStylePlain];

    self.tableView.delegate=self;

    self.tableView.dataSource=self;

    [self.tableView registerNib:[UINib nibWithNibName:@"ConnectionCell" bundle:nil] forCellReuseIdentifier:@"ConnectionCell"];

    [self.view addSubview:self.tableView];

}

//创建数据源

-(void)createRequest{

    _manager=[AFHTTPRequestOperationManager manager];

    _manager.responseSerializer=[AFHTTPResponseSerializer serializer];

    self.dataArr=[[NSMutableArray alloc]init];

}


//下载解析数据

-(void)loadDataWithPage{

    

    __weak typeof (self)weakSelf=self;

#if 1

    [_manager GET:kContentUrl parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {

#else

    //注册登录的post请求 aa表示账号所对应的nametextfield.text  bb表示账号所对应的posswordtextfield.text

    NSString *str=[NSString stringWithFormat:@"name=%@&password=%@",aa,bb];

    [_manager POST:kContentUrl parameters:str success:^(AFHTTPRequestOperation *operation, id responseObject) {

        

    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {

        

    }];

#endif


        NSDictionary *dict=[NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];

        NSArray *items=dict[@"items"];

        for (NSDictionary *dictInfo in items) {

            ConnectionModel *model=[[ConnectionModel alloc]init];

#if 1

            [model setValuesForKeysWithDictionary:dictInfo];

#else

            model.wbody=dictInfo[@"wbody"];

            model.wpic_middle=dictInfo[@"wpic_middle"];

            model.update_time=dictInfo[@"update_time"];

#endif

            [weakSelf.dataArr addObject:model];

        }

        [weakSelf.tableView reloadData];

    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {

        NSLog(@"下载失败");

    }];

}


//实现tebelView协议中的方法

#pragma mark -tebelView协议中的方法

//设置有多少组

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView

{

    return 1;

}

//设置每组中cell的个数

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

{

    return self.dataArr.count;

}

//填充cell

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{

    ConnectionCell *cell=[tableView dequeueReusableCellWithIdentifier:@"ConnectionCell" forIndexPath:indexPath];

    ConnectionModel *model=self.dataArr[indexPath.row];

    [cell showDataWithModel:model];

    return cell;

}

//设置cell的高度

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

{

    return 300;

}


- (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}


© 著作权归作者所有

上一篇: 仿AFNetworking
下一篇: 仿AFNetworking
粉丝 0
博文 2
码字总数 770
作品 0
郑州
程序员
私信 提问
关于ios应用引入AFNetworking后编译报错的问题

/Users/rzz/Desktop/iphone-app/Pods/AFNetworking/AFNetworking/AFURLRequestSerialization.h:29:1: error: unknown type name 'NS_ASSUME_NONNULL_BEGIN' NS_ASSUME_NONNULL_BEGIN ^ /User......

骑毛驴的王子
2015/11/09
1K
0
AFNetWorking用法及缓存处理

AFNetWorking 在IOS开发中是一个经常会用的第三方开源库,其最好处是维护及时,源码开源。 常用GET与POST请求方法: POST请求: GET请求: 这里有一个地方需要注意, 这个类方法我们点进源码...

珲少
2015/04/02
670
3
CocoaPods 安装和使用教程

用淘宝镜像像下载安装: $ gem sources --remove https://rubygems.org///等有反应之后再敲入以下命令$ gem sources -a https://ruby.taobao.org/ 为了验证你的Ruby镜像是并且仅是taobao,可...

Jack088
2015/05/26
23
0
AFNetworking源码(一)

前言 AFNetworking是一个为 iOS 和 Mac OSX 制作的令人愉快的网络库,它建立在URL 装载系统框架的顶层,内置在Cocoa里,扩展了强有力的高级网络抽象。以最新的3.1.0版本读阅.本篇只对其基本使...

有毒的程序猿
2017/11/18
0
0
iOS下的Http库AFNetworking

在iOS下开发一直是用ASIHTTPRequest库,ASIHTTPRequest已经停止更新,看了这个文章http://www.oschina.net/news/61416/github-top-100-objective-c-projects (原文https://github.com/Aufr......

vane_
2015/04/11
185
0

没有更多内容

加载失败,请刷新页面

加载更多

RxJava进行单元测试的方式

@Test public void completeTask_retrievedTaskIsComplete() { // Given a new task in the persistent repository final Task newTask = new Task(TITLE, ""); ......

SuShine
12分钟前
2
0
正则表达式大全

检验手机号码 # 要求:手机号码必须为11位数字,以1开头,第二位为1或5或8。import redef verify_mobile(): mob = input("请输入手机号码:") ret = re.match(r"1[358]\d{9}", m......

彩色泡泡糖
15分钟前
2
0
QT之border-image属性

一、border-image的兼容性 border-image可以说是CSS3中的一员大将,将来一定会大放光彩,其应用潜力真的是非常的惊人。可惜目前支持的浏览器有限,仅Firefox3.5,chrome浏览器,Safari3+支持...

shzwork
16分钟前
5
0
Kubernetes Operator简易教程

1. 安装operator-sdk //安装 operator-sdk$ apt-get install operator-sdk.....$ operator-sdk versionoperator-sdk version: v0.7.0$ go versiongo version go1.11.4 darwin/amd64 2......

Robotcl_Blog
16分钟前
3
0
再谈DAG任务分解和Shuffle RDD

1、DagScheduler分析 DagScheduler功能主要是负责RDD的各个stage的分解和任务提交。Stage分解是从触发任务调度过程的finalStage开始倒推寻找父stage,如果父stage没有提交任务则循环提交缺失...

守望者之父
22分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部