获取网络数据

一.ViewController.m

#import "ViewController.h"

#import "ViewTableViewCell.h"

#import "AFNetworking.h"

#import "ViewMdel.h"

#import "UIImage+GIF.h"

@interface ViewController ()<UITableViewDelegate,UITableViewDataSource>

{

    NSArray*modelArr;

    UITableView *tbv;

}

@end

@implementation ViewController

- (void)viewDidLoad

{

    [super viewDidLoad];


    [selfgetData];


    self.navigationItem.title = @"练习";

    self.navigationController.navigationBar.barTintColor = [UIColor whiteColor];



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

    tbv.delegate=self;

    tbv.dataSource = self;

    [self.view addSubview:tbv];


}

- (void)getData{

    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

    //拼接参数字典

    NSDictionary *dic = @{

                          @"a":@"list",

                          @"c":@"data",

                          @"type":@10

                          };

    [managerGET:@"http://api.budejie.com/api/api_open.php"parameters:dicsuccess:^(NSURLSessionDataTask*task,idresponseObject) {

        NSLog(@"%@",responseObject);


        self->modelArr = [[ViewMdel instance] saveModelWithData:[responseObject objectForKey:@"list"]];

        dispatch_async(dispatch_get_main_queue(), ^{

            [self->tbvreloadData];

        });


    }failure:^(NSURLSessionDataTask *task, NSError *error) {

        NSLog(@"错误信息%@",error);

    }];

}

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

{

    return modelArr.count;

}

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

{

    staticNSString*str =@"str";

    ViewTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:str];

    if(!cell)

    {

        cell = [[ViewTableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:str];


    }


    ViewMdel*model =modelArr[indexPath.row];


    [cellchangeFrameWithData:model];




    //取消顶部空白

    CGRectframe=CGRectMake(0,0,0,CGFLOAT_MIN);

    tableView.tableHeaderView=[[UIView alloc]initWithFrame:frame];

    //取消阴影

    cell.selectionStyle = UITableViewCellSelectionStyleNone;


    cell.layer.borderWidth = 10;

   cell.layer.borderColor = [UIColor colorWithRed:215.0/255.0 green:215.0/255.0 blue:215.0/255.0 alpha:1.0].CGColor;


    cell.imgTou.backgroundColor = [UIColor cyanColor];

    cell.mainTitle.backgroundColor = [UIColor magentaColor];

    cell.subTitle.backgroundColor = [UIColor greenColor];

    cell.contentTitle.backgroundColor = [UIColor redColor];

    cell.BtnTitle.backgroundColor = [UIColor brownColor];

    cell.lineView.backgroundColor = [UIColor colorWithRed:237/255.0 green:237/255.0 blue:237/255.0 alpha:1.0];

    cell.imgBtnOne.backgroundColor = [UIColor purpleColor];

    cell.l1.backgroundColor = [UIColor greenColor];


    cell.imgBtnTwo.backgroundColor = [UIColor blueColor];

    cell.l2.backgroundColor = [UIColor greenColor];

    cell.imgBtnThree.backgroundColor = [UIColor orangeColor];

    cell.l3.backgroundColor = [UIColor greenColor];

    cell.imgBtnFour.backgroundColor = [UIColor cyanColor];

    cell.l4.backgroundColor = [UIColor greenColor];



    cell.mainTitle.text= model.name;

    cell.subTitle.text= model.create_time;


    [cell.BtnTitle setTitle:@"..." forState:UIControlStateNormal];

    [cell.BtnTitle setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];


    cell.BtnTitle.titleLabel.font = [UIFont systemFontOfSize:40];


    cell.contentTitle.text= model.text;


    cell.l1.text= model.ding;

    cell.l2.text= model.hate;

    cell.l3.text= model.repost;

    cell.l4.text= model.favourite;


   return cell;

}


二.ViewTableViewCell.h

#import

#import "ViewMdel.h"

@interfaceViewTableViewCell :UITableViewCell

@property(nonatomic,strong)UIImageView *imgTou;

@property(nonatomic,strong)UILabel *mainTitle;

@property(nonatomic,strong)UILabel *subTitle;

@property(nonatomic,strong)UIButton *BtnTitle;

@property(nonatomic,strong)UILabel *contentTitle;

@property(nonatomic,strong)UIView *lineView;

@property(nonatomic,strong)UIImageView *contentImg;

@property(nonatomic,strong)UIButton *imgBtnOne;

@property(nonatomic,strong)UILabel *l1;

@property(nonatomic,strong)UIButton *imgBtnTwo;

@property(nonatomic,strong)UILabel *l2;

@property(nonatomic,strong)UIButton *imgBtnThree;

@property(nonatomic,strong)UILabel *l3;

@property(nonatomic,strong)UIButton *imgBtnFour;

@property(nonatomic,strong)UILabel *l4;

- (void)changeFrameWithData:(ViewMdel*)model;


三.ViewTableViewCell.m

#import "ViewTableViewCell.h"

#import "SDAutoLayout.h"

#import "AFNetworking.h"

#import "UIImage+GIF.h"

#import "UIImageView+WebCache.h"

@implementationViewTableViewCell

- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString*)reuseIdentifier{

    self= [superinitWithStyle:stylereuseIdentifier:reuseIdentifier];

    if(self){

        [selfimgTou];

        [selfmainTitle];

        [selfsubTitle];

        [selfBtnTitle];

        [self contentTitle];

        [selfcontentImg];

        [selflineView];


        [selfimgBtnOne];

        [selfl1];

        [selfimgBtnTwo];

         [selfl2];

        [selfimgBtnThree];

         [selfl3];

        [selfimgBtnFour];

         [selfl4];

    }

    return self;

}

//头像

-(UIImageView *)imgTou

{

    if(!_imgTou)

    {

        _imgTou = [[UIImageView alloc]init];

        [self.contentView addSubview:_imgTou];


        _imgTou.sd_layout

        .topSpaceToView(self.contentView, 20)

        .leftSpaceToView(self.contentView, 20)

        .widthIs(60)

        .heightIs(60);


    }


    return _imgTou;

}

//主标题

-(UILabel*)mainTitle

{

    if (!_mainTitle)

    {

        _mainTitle= [[UILabelalloc]init];

        [self.contentView addSubview:_mainTitle];


        _mainTitle.sd_layout

        .topSpaceToView(self.contentView, 20)

        .leftSpaceToView(self.contentView, 100)

        .widthIs(150)

        .heightIs(20);


    }


    return _mainTitle;

}

//副标题

-(UILabel*)subTitle

{

    if (!_subTitle)

    {

        _subTitle= [[UILabelalloc]init];

        [self.contentView addSubview:_subTitle];


        _subTitle.sd_layout

        .topSpaceToView(self.contentView, 50)

        .leftSpaceToView(self.contentView, 100)

        .widthIs(250)

        .heightIs(20);


    }


    return _subTitle;

}

// ...标题

-(UIButton*)BtnTitle

{

    if (!_BtnTitle)

    {

        _BtnTitle = [[UIButton alloc]init];

        [self.contentView addSubview:_BtnTitle];


        _BtnTitle.sd_layout

        .topSpaceToView(self.contentView, 8)

        .leftSpaceToView(self.contentView, 350)

        .widthIs(50)

        .heightIs(20);

    }


    return _BtnTitle;

}

//内容标题

-(UILabel*)contentTitle

{

    if (!_contentTitle)

    {

        _contentTitle= [[UILabelalloc]init];

        [self.contentView addSubview:_contentTitle];


        _contentTitle.sd_layout

        .topSpaceToView(self.contentView, 100)

        .leftSpaceToView(self.contentView, 20)

        .widthIs(400)

        .heightIs(20);

    }


    return _contentTitle;

}

//内容图片

-(UIImageView*)contentImg

{

    if (!_contentImg)

    {

        _contentImg = [[UIImageView alloc]init];

        [self.contentView addSubview:_contentImg];


        _contentImg.sd_layout

        .topSpaceToView(self.contentView, 130)

        .leftSpaceToView(self.contentView, 20)

        .widthIs(self.frame.size.width+50)

        .heightIs(300);

    }


    return _contentImg;

}

//分割线

-(UIView*)lineView

{

    if (!_lineView)

    {

        _lineView= [[UIViewalloc]init];

        [self.contentView addSubview:_lineView];


        _lineView.sd_layout

        .topSpaceToView(self.contentView, 440)

        .widthIs(self.frame.size.width+90)

        .heightIs(2);


    }


    return _lineView;

}

//按钮1

-(UIButton*)imgBtnOne

{

    if (!_imgBtnOne)

    {

        _imgBtnOne = [[UIButton alloc]init];

        [self.contentView addSubview:_imgBtnOne];


        _imgBtnOne.sd_layout

        .topSpaceToView(self.contentView, 460)

        .leftSpaceToView(self.contentView,45)

        .widthIs(40)

        .heightIs(40);

    }


    return _imgBtnOne;

}

-(UILabel *)l1

{

    if(!_l1)

    {

        _l1= [[UILabelalloc]init];

        [self.contentView addSubview:_l1];


        _l1.sd_layout

        .topSpaceToView(self.contentView, 465)

        .leftSpaceToView(self.contentView,85)

        .widthIs(25)

        .heightIs(30);


    }

    return _l1;

}

//按钮2

-(UIButton*)imgBtnTwo

{

    if (!_imgBtnTwo)

    {

        _imgBtnTwo = [[UIButton alloc]init];

        [self.contentView addSubview:_imgBtnTwo];


        _imgBtnTwo.sd_layout

        .topSpaceToView(self.contentView, 460)

        .leftSpaceToView(self.contentView,125)

        .widthIs(40)

        .heightIs(40);

    }


    return _imgBtnTwo;

}

-(UILabel *)l2

{

    if(!_l2)

    {

        _l2= [[UILabelalloc]init];

        [self.contentView addSubview:_l2];


        _l2.sd_layout

        .topSpaceToView(self.contentView, 465)

        .leftSpaceToView(self.contentView,165)

        .widthIs(25)

        .heightIs(30);


    }

    return _l2;

}

//按钮3

-(UIButton*)imgBtnThree

{

    if (!_imgBtnThree)

    {

        _imgBtnThree = [[UIButton alloc]init];

        [self.contentView addSubview:_imgBtnThree];


        _imgBtnThree.sd_layout

        .topSpaceToView(self.contentView, 460)

        .leftSpaceToView(self.contentView,205)

        .widthIs(40)

        .heightIs(40);

    }


    return _imgBtnThree;

}

-(UILabel *)l3

{

    if(!_l3)

    {

        _l3= [[UILabelalloc]init];

        [self.contentView addSubview:_l3];


        _l3.sd_layout

        .topSpaceToView(self.contentView, 465)

        .leftSpaceToView(self.contentView,245)

        .widthIs(25)

        .heightIs(30);


    }

    return _l3;

}

//按钮4

-(UIButton*)imgBtnFour

{

    if (!_imgBtnFour)

    {

        _imgBtnFour = [[UIButton alloc]init];

        [self.contentView addSubview:_imgBtnFour];




        _imgBtnFour.sd_layout

        .topSpaceToView(self.contentView, 460)

        .leftSpaceToView(self.contentView,285)

        .widthIs(40)

        .heightIs(40);

    }


    return _imgBtnFour;

}

//-(UILabel *)l4

//{

//    if (!_l4)

//    {

//        _l4 = [[UILabel alloc]init];

//        [self.contentView addSubview:_l4];

//

//        _l1.sd_layout

//        .topSpaceToView(self.contentView, 465)

//        .leftSpaceToView(self.contentView,325)

//        .widthIs(25)

//        .heightIs(30);

//

//    }

//    return _l4;

//}

- (void)changeFrameWithData:(ViewMdel*)model{


    [self.imgTou sd_setImageWithURL:[NSURL URLWithString:model.cdn_img]];



    if(model.is_gif==0){

        [self.contentImg sd_setImageWithURL:[NSURL URLWithString:model.image0]];

    }else{

        NSString*urlStr = model.image0;

        NSURL*url = [NSURLURLWithString:urlStr];

        NSData *data = [NSData dataWithContentsOfURL:url];

        UIImage*img = [UIImagesd_animatedGIFWithData:data];

        self.contentImg.image= img;

    }

}


四.ViewMdel.h

#import

#import

#import "SDImageCache.h"

@interfaceViewMdel :NSObject

@property(nonatomic,strong)NSString*cdn_img;              ///<用户头像

@property(nonatomic,strong)NSString*name;                ///<用户名称

@property(nonatomic,strong)NSString*create_time;          ///<创建时间

@property(nonatomic,strong)NSString*text;                ///<内容

@property(nonatomic,strong)NSString*image0;              ///<图片

@property(nonatomic,strong)NSString*ding;                ///<点赞数量

@property(nonatomic,strong)NSString*hate;                ///<不喜欢

@property(nonatomic,strong)NSString*repost;              ///<分享

@property(nonatomic,strong)NSString*favourite;            ///<评论

@property(nonatomic,assign)CGFloatwidth;                  ///<宽度

@property(nonatomic,assign)CGFloatheight;                ///<高度

@property(nonatomic,assign)intis_gif;                    ///<是否是动态图片

+(instancetype)instance;

- (NSArray*)saveModelWithData:(NSArray*)data;

五.ViewMdel.m

#import "ViewMdel.h"

@implementation ViewMdel

+(instancetype)instance{

    ViewMdel*model = [[ViewMdelalloc]init];

    returnmodel;

}

- (NSArray*)saveModelWithData:(NSArray*)data{

    NSMutableArray *modelArr = [NSMutableArray array];

    for(NSDictionary*dicindata) {

        ViewMdel*model = [[ViewMdelalloc]init];

        [modelsetValuesForKeysWithDictionary:dic];

        [modelArraddObject:model];

    }

    return[modelArrcopy];

}

- (void)setValue:(id)value forUndefinedKey:(NSString*)key{


}

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容