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

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 ()<UITableViewDelegate,UITableViewDataSource>

@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];

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本门课程重实战,将基础知识拆解到项目里,让你在项目情境里学知识。 这样的学习方式能让你保持兴趣、充满动力,时刻知道学的东西能用在哪、能怎么用。 平时不明白的知识点,放在项目里去理解就恍然大悟了。   一、融汇贯通 本视频采用了前后端分离的开发模式,前端使用Vue.js+Element UI实现了Web页面的呈现,后端使用Python 的Django框架实现了数据访问的接口,前端通过Axios访问后端接口获得数据。在学习完本章节后,真正理解前后端的各自承担的工作。   二、贴近实战 本系列课程为练手项目实战:学生管理系统v4.0的开发,项目包含了如下几个内容:项目的总体介绍、基本功能的演示、Vuejs的初始化、Element UI的使用、在Django中实现针对数据的增删改查的接口、在Vuejs中实现前端增删改查的调用、实现文件的上传、实现表格的分页、实现导出数据到Excel、实现通过Excel导入数据、实现针对表格的批量化操作等等,所有的功能都通过演示完成、贴近了实战   三、课程亮点 在本案例中,最大的亮点在于前后端做了分离,真正理解前后端的各自承担的工作。前端如何和后端交互   适合人群: 1、有Python语言基础、web前端基础,想要深入学习Python Web框架的朋友; 2、有Django基础,但是想学习企业级项目实战的朋友; 3、有MySQL数据库基础的朋友  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值