AFNetworking 初始化model数据+自定义cell

ViewController.m

//
//  ViewController.m
//  AFNetwork网络库4
//
//  Created by chenshunyi on 2017/12/10.
//  Copyright © 2017年 house365. All rights reserved.
//

#import "ViewController.h"
#import "AFNetworking.h"
#import "cityModel.h"
#import "cityTableViewCell.h"
@interface ViewController ()<UITableViewDelegate,UITableViewDataSource>{
    NSMutableArray*_cityLists;
    UITableView*_tableView;
}

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    CGSize screen=[[UIScreen mainScreen]bounds].size;
_tableView=[[UITableView alloc]initWithFrame:CGRectMake(0, 0, screen.width, screen.height) style:UITableViewStylePlain];
    _tableView.delegate=self;
    _tableView.dataSource=self;
    [self.view addSubview:_tableView];



    [self getNetworkData];
}
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
    return 1;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    return _cityLists.count;
}
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
    return 50;
}
-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    static NSString*strId=@"strId";
    cityTableViewCell*cell=[tableView dequeueReusableCellWithIdentifier:strId];
    if (!cell) {
        cell=[[cityTableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:strId];
    }
    cityModel*model=[_cityLists objectAtIndex:indexPath.row];
    //把当前的cell的model传入到内部的cell进行使用
    [cell reloadCellData:model];

    return cell;
}


//获取网络数据
-(void)getNetworkData{
    //创建http对象
    AFHTTPSessionManager*session=[AFHTTPSessionManager manager];
    //返回的数据类型
    session.responseSerializer.acceptableContentTypes=[NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript",@"text/html", nil];
    //fas一个get请求
    [session GET:@"https://mtsapi.house365.com/secure/?method=newhouse.getGlobalProfile&city=bb&client=tf&channl=app&v=7.1.11&api_key=iPhone" parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        NSLog(@"请求成功");
        if ([responseObject isKindOfClass:[NSDictionary class]]) {
            NSDictionary*diction=(NSDictionary*)responseObject;
            //data
            NSDictionary*data=[diction objectForKey:@"data"];
            //cityList
            NSArray*cityList=[data objectForKey:@"cityList"];
            //创建一个城市的model数组
            _cityLists=[NSMutableArray array];
            //遍历每一个数据
            for (int i=0; i<cityList.count; i++) {
                NSDictionary*city=[cityList objectAtIndex:i];
                NSString*name=[city objectForKey:@"city_name"];
                NSLog(@"name=%@",name);

                cityModel*model=[[cityModel alloc]init];
                model.city_key=[city objectForKey:@"city_key"];
                model.city_name=[city objectForKey:@"city_name"];
                model.city_py=[city objectForKey:@"city_py"];
                model.city_zoom=[[city objectForKey:@"city_zoom"] integerValue];

                [_cityLists addObject:model];
            }
            if (_cityLists.count>0) {
                //刷新tableview
                [_tableView reloadData];
            }


        }

    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
        NSLog(@"err=%@",error);
        NSLog(@"请求失败");
    }];
}


- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}


@end

cityTableViewCell.h

//
//  cityTableViewCell.h
//  AFNetwork网络库4
//
//  Created by chenshunyi on 2017/12/10.
//  Copyright © 2017年 house365. All rights reserved.
//

#import <UIKit/UIKit.h>

#import "cityModel.h"

@interface cityTableViewCell : UITableViewCell
//带参的方法,为了吧外面的model传到内部使用
-(void)reloadCellData:(cityModel*)model;

@end

cityTableViewCell.m

//
//  cityTableViewCell.m
//  AFNetwork网络库4
//
//  Created by chenshunyi on 2017/12/10.
//  Copyright © 2017年 house365. All rights reserved.
//

#import "cityTableViewCell.h"

@interface cityTableViewCell(){
    UILabel*_keyLel;
    UILabel*_nameLel;
    UILabel*_pyLel;
    UILabel*_zoomLel;

}
@end

@implementation cityTableViewCell

- (void)awakeFromNib {
    [super awakeFromNib];
    // Initialization code
}
-(void)reloadCellData:(cityModel*)model{
    if (!_nameLel) {
        _nameLel=[[UILabel alloc]initWithFrame:CGRectMake(15, 5, 100, 20)];
        _nameLel.font=[UIFont systemFontOfSize:15];
        _nameLel.textColor=[UIColor blackColor];
        [self addSubview:_nameLel];
    }
    _nameLel.text=model.city_name;

    if (!_pyLel) {
        _pyLel=[[UILabel alloc]initWithFrame:CGRectMake(15+100+10, 5, 100, 20)];
        _pyLel.font=[UIFont systemFontOfSize:15];
        _pyLel.textColor=[UIColor blackColor];
        [self addSubview:_pyLel];
    }
    _pyLel.text=model.city_py;

    if (!_keyLel) {
        _keyLel=[[UILabel alloc]initWithFrame:CGRectMake(15+100+10+100+10, 5, 100, 20)];
        _keyLel.font=[UIFont systemFontOfSize:15];
        _keyLel.textColor=[UIColor blueColor];
        [self addSubview:_keyLel];
    }
    _keyLel.text=model.city_key;

    if (!_zoomLel) {
        _zoomLel=[[UILabel alloc]initWithFrame:CGRectMake(15+100+10+100+10, 5+20+5, 100, 20)];
        _zoomLel.font=[UIFont systemFontOfSize:15];
        _zoomLel.textColor=[UIColor yellowColor];
        [self addSubview:_zoomLel];
    }
    _zoomLel.text=[NSString stringWithFormat:@"%ld",model.city_zoom];
}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
    [super setSelected:selected animated:animated];

    // Configure the view for the selected state
}

@end

cityModel.h

//
//  cityModel.h
//  AFNetwork网络库4
//
//  Created by chenshunyi on 2017/12/10.
//  Copyright © 2017年 house365. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface cityModel : NSObject

@property(nonatomic,copy)NSString*city_key;
@property(nonatomic,copy)NSString*city_name;
@property(nonatomic,copy)NSString*city_py;
@property(nonatomic,assign)NSInteger city_zoom;



@end

cityModel.m

//
//  cityModel.m
//  AFNetwork网络库4
//
//  Created by chenshunyi on 2017/12/10.
//  Copyright © 2017年 house365. All rights reserved.
//

#import "cityModel.h"

@implementation cityModel

@end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值