iOS_21团购_发送请求【点评】数据
2023-09-14 09:08:09 时间
结果表明,一个简单的请求:
用到的点评封装的类:
使用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
版权声明:本文博客原创文章,博客,未经同意,不得转载。
相关文章
- iOS 数据持久化 - Sandbox
- iOS 自动打包脚本
- iOS单元测试的那些事儿
- AppCode 2022 mac(ios代码编写利器)
- IOS渲染流程之提交图层数据至RenderThread进程
- iOS 获取本地图片尺寸_ios图片处理软件
- AnyMP4 iOS Cleaner for mac(IOS文件清理工具)v1.0.16激活版
- iOS KVO实现原理及使用
- iOS AppStore上架流程图文详解2021版 (上)
- 【iOS 开发】iOS 开发 简介 (IOS项目文件 | MVC 模式 | 事件响应机制 | Storyboard 控制界面 | 代码控制界面 | Retina 屏幕图片适配)
- iOS图片无损拉伸详解手机开发
- IOS网络编程—(数据请求+slider)将网络上的大文件下载到本地,并打印其进度详解手机开发
- iOS开发runloop运行循环机制学习
- iOS设置UILabel行距实例详解手机开发
- 报告:数千款iOS/Android应用泄露了113 GB数据详解手机开发
- iOS–app自定义相册–从自定义的相册中获取图片详解手机开发
- iOS—数据本地化详解手机开发
- IOS—静态方法(类方法)和实例方法详解手机开发
- 在iOS上搭建MySQL数据库连接(ios连接mysql数据库)
- Linux与iOS之间的技术对比(linux和ios)
- appLinux开发探索之路:从iOS APP开始(linux开发ios)
- MacOS 与 iOS:由浅入深的连接(macos和ios)
- 操作系统开启iOS时代:Linux操作系统的新篇章(ios是linux)
- iOS与Linux:新老技术的融合(ios与linux的关系)
- 在iOS上安装Linux系统的挑战(ios上安装linux)
- iOS和iPadOS 14.7发布 支持MagSafe移动电源和Apple Card多人额度
- iOS 14.5新版发布:苹果宣布想跟踪数据必须获得用户同意!
- Linux下安装iOS:解决方案(linux安装ios)
- 基于Linux环境下iOS应用开发实践(linux下开发ios)
- 微软 Edge 浏览器 94 Dev 发布:Mac 版拼写检查,iOS 版支持全屏截图
- iOS 不能使用 Oracle 数据库(iOS不支持Oracle)
- iOS 15扫描用户相册惹争议!高管重申:不会窃取数据
- iOS开发之路--微博OAuth授权_取得用户授权的accessToken