请求网络接口 展示表格 厉害

SDK:AFNetworking+MJExtension+SDWebImage

Image:10套

Model:FeiLeiModel.h.m    SuDuModel.h.m

View : mytableviewCell.h.m

Controller : findviewcontroller.h.m   myviewcontroller.h.m  


Feilei.h

@interfaceFeiLeiModel :NSObject

@property(nonatomic,strong)NSString * text;

@end

-----------------

SuDuModel.h

@interfaceSuDuModel :NSObject

@property(nonatomic,strong)NSString * title;

@property(nonatomic,strong)NSString * suitIntro;

@property(nonatomic,strong)NSString * readNum;

@property(nonatomic,strong)NSString * photo;

@end

--------------------

mytableviewcell.h

@interfacemyTableViewCell :UITableViewCell

@property(nonatomic,strong)UIImageView * imgv;

@property(nonatomic,strong)UILabel * zhu;

@property(nonatomic,strong)UILabel * fu;

@property(nonatomic,strong)UILabel * look;

@end

----------------------

mytableviewcell.m


#import "myTableViewCell.h"

@implementationmyTableViewCell

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

{

    if(self=[superinitWithStyle:stylereuseIdentifier:reuseIdentifier])

    {

        [selfaddSubview:self.imgv];

        [selfaddSubview:self.zhu];

        [selfaddSubview:self.fu];

        [selfaddSubview:self.look];

    }

    return self;

}

-(UIImageView * )imgv

{

    if(!_imgv)

    {

        _imgv=[[UIImageView alloc]initWithFrame:CGRectMake(3, 10, 200, 150)];


    }

    return _imgv;

}

-(UILabel* )zhu

{

    if(!_zhu)

    {

    _zhu=[[UILabel alloc]initWithFrame:CGRectMake(210, 10, 210, 40)];

        _zhu.font=[UIFont systemFontOfSize:20];

    }

    return _zhu;

}

-(UILabel* )fu

{

    if(!_fu)

    {

        _fu=[[UILabel alloc]initWithFrame:CGRectMake(210, 60, 210, 40)];

        _fu.font=[UIFont systemFontOfSize:16];

        _fu.textColor=[UIColor lightGrayColor];

        _fu.numberOfLines=0;


    }

    return _fu;

}

-(UILabel* )look

{

    if(!_look)

    {

        _look=[[UILabel alloc]initWithFrame:CGRectMake(350, 120, 50, 30)];


        _look.textColor=[UIColor lightGrayColor];


        _look.textAlignment=NSTextAlignmentRight;

    }

    return _look;

}

- (void)awakeFromNib {

    [super awakeFromNib];

    // Initialization code

}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {

    [supersetSelected:selectedanimated:animated];

    // Configure the view for the selected state

}

@end

------------------------

appdelegate.h


#import

#import

@interface AppDelegate : UIResponder

@property (strong, nonatomic) UIWindow *window;

@property(readonly,strong)NSPersistentContainer*persistentContainer;

- (void)saveContext;

@end

------------------------------

appdelegate.m


#import "AppDelegate.h"

#import "ViewController.h"

#import "findViewController.h"

#import "myViewController.h"

@interface AppDelegate ()

@end

@implementation AppDelegate

- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions {


    UINavigationController * vcNav=[[UINavigationController alloc]initWithRootViewController:[ViewController new]];


    vcNav.tabBarItem=[[UITabBarItem alloc]initWithTitle:@"报告" image:[UIImage imageNamed:@"消息灰.png"] selectedImage:[UIImage imageNamed:@"消息蓝.png"]];




    UINavigationController * findNav=[[UINavigationController alloc]initWithRootViewController:[findViewController new]];


    findNav.tabBarItem=[[UITabBarItem alloc]initWithTitle:@"发现" image:[UIImage imageNamed:@"喜欢灰.png"] selectedImage:[UIImage imageNamed:@"喜欢蓝.png"]];



    UINavigationController * myNav=[[UINavigationController alloc]initWithRootViewController:[myViewController new]];


    myNav.tabBarItem=[[UITabBarItem alloc]initWithTitle:@"我" image:[UIImage imageNamed:@"我的灰.png"] selectedImage:[UIImage imageNamed:@"我的蓝.png"]];



    UITabBarController * tbc=[[UITabBarController alloc]init];


    tbc.viewControllers=@[vcNav,findNav,myNav];


    self.window.rootViewController=tbc;


    return YES;

}

-----------------------

viewcontroller.m


#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {

    [super viewDidLoad];

    self.view.backgroundColor=[UIColor redColor];

}

@end

-----------------------------

findviewcon.m


#define FenLei @"enumeration/list?type=StrategyType"

#define GongGong @"http://124.65.238.30:3300/bingyun/api/"

#define XiangDui @"strategy/page?pageNo=1&pageSize=10&strategyType=POSTURE"

#import "findViewController.h"

#import "myTableViewCell.h"

#import "AFNetworking.h"

#import "UIImageView+WebCache.h"

#import "MJExtension.h"

#import "FeiLeiModel.h"

#import "SuDuModel.h"

@interface findViewController ()

@property(nonatomic,strong)UISegmentedControl * segment;

@property(nonatomic,strong)UITableView * tbv;

@property(nonatomic,strong)NSMutableArray * dataArr;

@property(nonatomic,strong)NSMutableArray * feileiArr;

@property(nonatomic,strong)UIButton * btn;

@property(nonatomic,strong)UIButton * twoBtn;

@property(nonatomic,strong)UIButton * threeBtn;

@property(nonatomic,strong)UIButton * fourBtn;

@end

@implementationfindViewController

//初始化分段控制器

-(UISegmentedControl * )segment

{

    if(!_segment)

    {

        //设置分段控制器的内容

        _segment=[[UISegmentedControl alloc]initWithItems:@[@"攻略",@"训练营",@"资讯"]];


        //设置分段控制器的位置

        _segment.frame=CGRectMake(20,0,self.view.frame.size.width-40,40);


        [_segment addTarget:self action:@selector(change:) forControlEvents:UIControlEventValueChanged];


    }

    return _segment; 

}

//初始化表格

-(UITableView * )tbv

{

    if(!_tbv)

    {

        _tbv=[[UITableView alloc]initWithFrame:CGRectMake(3, 100, self.view.frame.size.width-6, self.view.frame.size.height-80) style:UITableViewStylePlain];


        _tbv.delegate=self;


        _tbv.dataSource=self;


    }

    return _tbv;

}

- (void)viewDidLoad {

    [super viewDidLoad];

    //设置导航不透明

    self.navigationController.navigationBar.translucent=NO;


    //设置主视图背景颜色

    self.view.backgroundColor=[UIColor whiteColor];


    //设置分段控制器的位置,添加到导航条

    self.navigationItem.titleView=self.segment;


    //初始化数组

    self.dataArr=[NSMutableArray new];


    self.feileiArr=[NSMutableArray new];



}

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

{

    return self.dataArr.count;

}

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

{

    staticNSString* string=@"string";


    myTableViewCell * cell=[tableView dequeueReusableCellWithIdentifier:string];


    if(!cell)

    {

        cell=[[myTableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:string];

    }

    SuDuModel* sd=self.dataArr[indexPath.row];


    [cell.imgvsd_setImageWithURL:[NSURLURLWithString:sd.photo]];


    cell.zhu.text=sd.title;


    cell.fu.text=sd.suitIntro;


    cell.look.text=sd.readNum;


    UILabel * label=[[UILabel alloc]initWithFrame:CGRectMake(340, 115, 50, 40)];

    label.text=@"";


    [celladdSubview:label];

    returncell;

}

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

{

    return 170;

}

//实现分段控制器的方法

-(void)change:(UISegmentedControl* )sender

{

    if(sender.selectedSegmentIndex==0)

    {

        NSLog(@"1");

        //设置全部攻略的label

        UILabel* label=[[UILabelalloc]initWithFrame:CGRectMake(3,10,150,40)];

        label.text=@"全部攻略";


        label.font=[UIFontsystemFontOfSize:20];


        [self.viewaddSubview:label];


        //拼接字符串网址

        NSString* onestring=[NSStringstringWithFormat:@"%@%@",GongGong,FenLei];


        AFHTTPSessionManager * manager=[AFHTTPSessionManager manager];


        [managerGET:onestringparameters:nilsuccess:^(NSURLSessionDataTask*task,idresponseObject) {

            NSLog(@"--------%@",responseObject);


            //打印totalProperty判断分类按钮的数量

            idshuliang=responseObject[@"totalProperty"];

            NSLog(@"+++++++++%@",shuliang);


            //获取data里面的元素

            NSArray* arr=responseObject[@"data"];


            //遍历

            for(NSDictionary* dicinarr) {

                FeiLeiModel* feilei=[FeiLeiModelmj_objectWithKeyValues:dic];



                [self.feileiArraddObject:feilei];

            }

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

            NSLog(@"error=%@",error);

        }];

        NSLog(@"\\\\\\\\\\\\\\\\%@",self.feileiArr);




        //数量为4,根据内容创建四个按钮

        //初始化速度按钮

        self.btn=[[UIButtonalloc]initWithFrame:CGRectMake(2,60,self.view.frame.size.width/4-6,40)];


        [self.btn addTarget:self action:@selector(sudu) forControlEvents:UIControlEventTouchUpInside];


        [self.btn setTitle:@"速度" forState:UIControlStateNormal];


        [self.btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];


        self.btn.backgroundColor=[UIColor lightGrayColor];


        self.btn.layer.masksToBounds=YES;


        self.btn.layer.cornerRadius=20;


        [self.viewaddSubview:self.btn];



        //初始化技巧按钮

        self.twoBtn=[[UIButton alloc]initWithFrame:CGRectMake(self.view.frame.size.width/4, 60, self.view.frame.size.width/4-6, 40)];


        [self.twoBtn setTitle:@"技巧" forState:UIControlStateNormal];


         [self.twoBtn addTarget:self action:@selector(jiqiao) forControlEvents:UIControlEventTouchUpInside];


        [self.twoBtn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];


        self.twoBtn.backgroundColor=[UIColor lightGrayColor];


        self.twoBtn.layer.masksToBounds=YES;


        self.twoBtn.layer.cornerRadius=20;


        [self.viewaddSubview:self.twoBtn];



        //初始化姿势按钮

        self.threeBtn=[[UIButton alloc]initWithFrame:CGRectMake(self.view.frame.size.width/4*2, 60, self.view.frame.size.width/4-6, 40)];


        [self.threeBtn setTitle:@"姿势" forState:UIControlStateNormal];


         [self.threeBtn addTarget:self action:@selector(zishi) forControlEvents:UIControlEventTouchUpInside];


        [self.threeBtn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];


        self.threeBtn.backgroundColor=[UIColor lightGrayColor];


        self.threeBtn.layer.masksToBounds=YES;


        self.threeBtn.layer.cornerRadius=20;


        [self.viewaddSubview:self.threeBtn];



        //初始化进球按钮

        self.fourBtn=[[UIButton alloc]initWithFrame:CGRectMake(self.view.frame.size.width/4*3, 60, self.view.frame.size.width/4-6, 40)];


        [self.fourBtn setTitle:@"进球" forState:UIControlStateNormal];


         [self.fourBtn addTarget:self action:@selector(jinqiu) forControlEvents:UIControlEventTouchUpInside];


        [self.fourBtn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];


        self.fourBtn.backgroundColor=[UIColor lightGrayColor];


        self.fourBtn.layer.masksToBounds=YES;


        self.fourBtn.layer.cornerRadius=20;


        [self.viewaddSubview:self.fourBtn];


    }

    else if(sender.selectedSegmentIndex==1)

    {

        NSLog(@"2");


        UIView * view=[[UIView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];


        view.backgroundColor=[UIColor whiteColor];


        [self.viewaddSubview:view];

    }

    elseif(sender.selectedSegmentIndex==2)

    {

        NSLog(@"3");


        UIView * oneview=[[UIView alloc]initWithFrame:self.view.frame];


        oneview.backgroundColor=[UIColor whiteColor];


        [self.view addSubview:oneview];

    }

}

//实现速度按钮的点击方法

-(void)sudu

{

    self.btn.backgroundColor=[UIColor blueColor];

    self.twoBtn.backgroundColor=[UIColor lightGrayColor];

    self.threeBtn.backgroundColor=[UIColor lightGrayColor];

    self.fourBtn.backgroundColor=[UIColor lightGrayColor];



    //添加表格到主视图

    [self.view addSubview:self.tbv];



    //拼接网址字符串

    NSString * string=[NSString stringWithFormat:@"%@%@",GongGong,XiangDui];


    //封装请求参数为字典

    NSDictionary * dic=@{@"strategyType":@"攻略分类"};


    AFHTTPSessionManager * manager=[AFHTTPSessionManager manager];


    [manager GET:string parameters:dic success:^(NSURLSessionDataTask *task,idresponseObject) {

        NSLog(@"00000000000000%@",responseObject);


        NSArray * arr=responseObject[@"data"];


        for(NSDictionary * dicinarr) {

            SuDuModel * sudu=[SuDuModel mj_objectWithKeyValues:dic];


            [self.dataArr addObject:sudu];

        }


        dispatch_async(dispatch_get_main_queue(), ^{

             [self.tbv reloadData];

        });


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

        NSLog(@"%@",error);

    }];







}

//实现技巧按钮的点击方法

-(void)jiqiao

{

    self.btn.backgroundColor=[UIColor lightGrayColor];

    self.twoBtn.backgroundColor=[UIColor blueColor];

    self.threeBtn.backgroundColor=[UIColor lightGrayColor];

    self.fourBtn.backgroundColor=[UIColor lightGrayColor];


    UIView * view=[[UIView alloc]initWithFrame:CGRectMake(3,100,self.view.frame.size.width-6,self.view.frame.size.height-80)];


    view.backgroundColor=[UIColor whiteColor];


    [self.view addSubview:view];


}

//实现姿势按钮的点击方法

-(void)zishi

{

    self.btn.backgroundColor=[UIColor lightGrayColor];

    self.twoBtn.backgroundColor=[UIColor lightGrayColor];

    self.threeBtn.backgroundColor=[UIColor blueColor];

    self.fourBtn.backgroundColor=[UIColor lightGrayColor];


    UIView * view=[[UIView alloc]initWithFrame:CGRectMake(3,100,self.view.frame.size.width-6,self.view.frame.size.height-80)];


    view.backgroundColor=[UIColor whiteColor];


    [self.view addSubview:view];

}

//实现进球按钮的点击方法

-(void)jinqiu

{

    self.btn.backgroundColor=[UIColor lightGrayColor];

    self.twoBtn.backgroundColor=[UIColor lightGrayColor];

    self.threeBtn.backgroundColor=[UIColor lightGrayColor];

    self.fourBtn.backgroundColor=[UIColor blueColor];


    UIView * view=[[UIView alloc]initWithFrame:CGRectMake(3,100,self.view.frame.size.width-6,self.view.frame.size.height-80)];


    view.backgroundColor=[UIColor whiteColor];


    [self.view addSubview:view];


}

@end

=====================

myviewcotroller.m

- (void)viewDidLoad {

    [super viewDidLoad];

    self.view.backgroundColor=[UIColor blueColor];

}

你可能感兴趣的:(请求网络接口 展示表格 厉害)