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
    


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

  • 相关阅读:
    关于BehaviorEditorPart 不显示的问题(出自msdn)
    webpart msdn 的位置
    Visual Studio 2008 具有一些新的报表功能和改进之处
    .NET Framework 类库
    Reporting Service 安装 及相关问题如:授予的权限不足解决办法
    单服务器部署&&双服务器部署
    Windows Server 2003安装完毕后汉字都为乱码“方框”,配置域控制器
    Dreamweaver MX显示汉字为乱码的解决方法
    名称以无效字符开头。处理资源 'http://localhost/发布了的/Default.aspx' 时出错。第 1 行,位置: 2
    【随感】my feeling about Long Ying
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4658657.html
Copyright © 2011-2022 走看看