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

来源:互联网 发布:淘宝售后服务卡 编辑:程序博客网 时间:2024/06/02 04:10

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
原创粉丝点击