zoukankan      html  css  js  c++  java
  • iOS_21团购_发送请求【点评】数据

    结果表明,一个简单的请求:


    用到的点评封装的类:







    使用tableView简单展示:

    //
    //  DealListController.m
    //  帅哥_团购
    //
    //  Created by beyond on 14-8-14.
    //  Copyright (c) 2014年 com.beyond. All rights reserved.
    //  点击dock上面的【团购】button相应的控制器,上面是导航栏,导航栏右边是searchBar,导航栏左边是一个大button(TopMenu)(内部由三个小button组成<TopMenuItem>)
    
    #import "DealListController.h"
    // 导航栏左边是一个大button(顶部菜单)
    #import "TopMenu.h"
    
    #import "DPAPI.h"
    #import "MetaDataTool.h"
    // 数据模型,相应server返回的一个团购字典
    #import "Deal.h"
    // 数据模型,里面有一个数组,存放全部商区(District)对象
    #import "City.h"
    
    @interface DealListController ()<DPRequestDelegate>
    {
        // 用于保存server返回的全部deals字典,并转成一个个deal对象
        NSMutableArray *_deals;
    }
    
    @end
    
    @implementation DealListController
    
    
    - (void)viewDidLoad
    {
        [super viewDidLoad];
        // 1,设置上方的导航栏,右边是搜索bar,左边是一个大的VIEW(内有三个button)
        [self addNaviBarBtn];
        _deals = [NSMutableArray array];
        
    
        
    }
    // 1,设置上方的导航栏,右边是搜索bar,左边是一个大的VIEW(内有三个button)
    - (void)addNaviBarBtn
    {
        // 1.监听城市改变的通知
        kAddAllNotes(dataChange)
        
        // 2.右边的搜索框
        UISearchBar *s = [[UISearchBar alloc] init];
        s.frame = CGRectMake(0, 0, 210, 35);
        s.placeholder = @"请输入商品名、地址等";
        self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:s];
        
        // 3.左边的菜单条,导航栏左边是一个大button(顶部菜单)
        TopMenu *topMenu = [[TopMenu alloc] init];
        // 4.用于点击顶部button时,容纳创建出来的底部弹出菜单(包含一个contentView和cover,contentView又包含scrollView和subTitleImgView),本成员是由创建此TopMenu的外部赋值传入, 这里是控制器的view,就是导航栏以下的全部区域
        
        topMenu.controllerView = self.view;
    
        
        self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:topMenu];
    }
    
    // temp -- test
    - (void)dataChange
    {
        DPAPI *dpapi = [[DPAPI alloc]init];
       
        [dpapi requestWithURL:@"v1/deal/find_deals" params:@{@"city": [MetaDataTool sharedMetaDataTool].currentCity.name} delegate:self];
    }
    // temp -- test
    - (void)request:(DPRequest *)request didFinishLoadingWithResult:(id)result
    {
        [_deals removeAllObjects];
        
        NSArray *arr = result[@"deals"];
        for (NSDictionary *dict in arr) {
            Deal *deal = [[Deal alloc]init];
            [deal setValuesWithDict:dict];
            [_deals addObject:deal];
         
            
        }
      // 接下来就能够给tableView提供数据源了
     [self.tableView reloadData];
    }
    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
    {
     return _deals.count;
    }
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    { 
      static NSString *cellID = @"Beyond"; 
      UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID]; 
      if (cell == nil) 
      { 
        cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellID]; 
      } 
      // 设置cell中独一无二的内容 
      Deal *deal = [_deals objectAtIndex:indexPath.row]; 
      cell.textLabel.text = deal.title; 
      cell.detailTextLabel.text = deal.desc; 
      cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 
      // 返回cell return cell;
    }
    @end
    


    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    MUI DtPicker 显示自定义日期
    Windows10更新后,远程桌面无法登录服务器 提示远程桌面协议 CredSSP 出现漏洞
    微信Access Token 缓存方法
    在Windows7/8/10上,安装IIS
    启明星系统微信接口配置
    c#使用QQ邮箱的SSL收发邮件
    使用ASP.NET+Jquery DataTables的服务器分页
    总是容易忘记:enum、int、string之间的快速转换
    Chrome浏览器导出pdf时,隐藏链接HREF
    SQL Builder 1.04
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4658657.html
Copyright © 2011-2022 走看看