// Query Message.h // Reservation software // // Created by 张亚雄 on 15/7/7. // Copyright (c) 2015年 张亚雄. All rights reserved. // #import <UIKit/UIKit.h> @interface FindOrderTableViewController : UITableViewController<UITableViewDelegate,UITableViewDataSource> { NSArray *m_arr_data_source; NSMutableArray *m_arr_data_sources; } @property(nonatomic,retain)UITableView *tableView; @property(strong,nonatomic) NSArray *listData; @end
// Query Message.m
// Reservation software
//
// Created by 张亚雄 on 15/7/7.
// Copyright (c) 2015年张亚雄. All rights reserved.
//
#import "FindOrderTableViewController.h"
#import "ValueTableViewCell.h"
@interfaceFindOrderTableViewController ()
@end
@implementation FindOrderTableViewController
@synthesize listData=_listData;
- (void)viewDidLoad
{
[superviewDidLoad];
// 获取沙盒内的文件
m_arr_data_source = [selfread_file_from_path:@"order.plist"];
m_arr_data_sources = [selfread_file_from_path:@"nameFile.plist"];
double sum_price = [selfget_ordered_sum_price];
[selfcreat_label_price:sum_price];
}
-(double)get_ordered_sum_price
{
// for 循环如果i内容为1组,i行数为自动换行数
for (int i = 0; i < m_arr_data_source.count; i++)
{
// 提取已定套餐内容
NSDictionary *orderinfo = [m_arr_data_sourceobjectAtIndex:i];
// 从已定套餐内容里提起name
NSString *strName = [orderinfo objectForKey:@"name"];
// for循环变量j内容为1组,j行数为自动换行数
for (int j = 0; j < m_arr_data_sources.count; j++)
{
//从未定套餐中名字中提取内容
NSString *name = [m_arr_data_sourcesobjectAtIndex:j];
// 对比strName与name的不同内容
if ([strName isEqualToString:name])
{
// 减去相同的内容
[m_arr_data_sourcesremoveObject:name];
// 结束
break;
}
}
}
double sum_price = 0;
// 用for循环提取k的自动行数
for (int k = 0; k < m_arr_data_source.count; k++)
{
// 提取已定套餐显示的内容
NSDictionary *priceinfo = [m_arr_data_sourceobjectAtIndex:k];
// 从已定套餐内容提取想要显示的价位值转换字符串变数组
NSString *strprice = [priceinfo objectForKey:@"price"];
double double_price = strprice.doubleValue;
sum_price = sum_price + double_price;
}
return sum_price;
}
-(UILabel *)creat_label_price:(double)sum_price
{
// 声明一个lable把sum_price 放到lable里。
UILabel *label = [[UILabelalloc]initWithFrame:CGRectMake(0, self.view.frame.size.height-73, self.view.frame.size.width, 30)];
label.backgroundColor = [UIColorblackColor];
label.text = [[NSStringalloc]initWithFormat:@"总计%.2f元",sum_price];
label.font = [UIFontfontWithName:@"Arial"size:30];
label.textAlignment = NSTextAlignmentCenter;
label.textColor = [UIColorwhiteColor];
label.adjustsFontSizeToFitWidth = YES;
[self.viewaddSubview:label];
return label;
}
//沙盒
- (NSMutableArray *)read_file_from_path:(NSString *)fileName
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
//获取沙盒中Documents文件的路径
NSString *str_file_path = [paths objectAtIndex:0];
//将自己想创建的文件名添加到Documents录后,拼成一整个字符串
NSString *str_data_file_path = [str_file_path stringByAppendingPathComponent:fileName];
NSMutableArray *array_data_source = [[NSMutableArrayalloc]initWithContentsOfFile:str_data_file_path];
return array_data_source;
}
- (void)didReceiveMemoryWarning
{
[superdidReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#pragma mark - Table view data source
/* 这个函数是显示tableview的章节数*/
-(NSInteger)numberOfSectionsInTableView:(UITableView*)tableView
{
return2;
}
/*设置标题尾的宽度*/
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
return30;
}
/*设置标题头的名称*/
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section;
{
// 标题的 标头设置
UIView *view = [[UIViewalloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 30)];
view.backgroundColor = [UIColorbrownColor];
if (section == 0)
{
UILabel *label0ne =[[UILabelalloc]initWithFrame:CGRectMake(0,0,200,30)];
label0ne.text = @"已定套餐";
[view addSubview:label0ne];
}
else
{
UILabel *lableTwo = [[UILabelalloc]initWithFrame:CGRectMake(0, 0, 200, 30)];
lableTwo.text = @"未定套餐";
[view addSubview:lableTwo];
}
return view;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// 返回多少行
if(section == 0)
{
returnm_arr_data_source.count;
}
if (section == 1)
{
returnm_arr_data_sources.count;
}
return0;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
// 声明静态字符串型对象,用来标记重用单元格
staticNSString *CellIdentifier = @"cells";
// 用TableSampleIdentifier表示需要重用的单元
ValueTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
// 如果如果没有多余单元,则需要创建新的单元
if (cell == nil)
{
cell = [[ValueTableViewCellalloc] initWithStyle:UITableViewCellStyleDefaultreuseIdentifier:CellIdentifier];
}
if (indexPath.section == 0)
{
// 获取当前行信息值
NSUInteger row = [indexPath row];
// 获取当价钱前值的行数
NSString *str_price = [[m_arr_data_sourceobjectAtIndex:row]objectForKey:@"price"];
// 将价钱值类型转换成double类型,
double d_price = str_price.doubleValue ;
// 将价钱值作比较大于11的数显示为红色。
if (d_price > 11.00)
{
cell.price_text_label.textColor = [UIColorredColor];
}
// name txte label = [[ sha he shu ju yuan zhong lei zhi yin ] yin yong zi dian nei ming cheng]
cell.name_text_label.text = [[m_arr_data_sourceobjectAtIndex:row]objectForKey:@"name"];
cell.price_text_label.text = str_price;
cell.restaurant_text_label.text = [[m_arr_data_sourceobjectAtIndex:row]objectForKey:@"restaurant"];
cell.combo_text_label.text = [[m_arr_data_sourceobjectAtIndex:row]objectForKey:@"combo"];
// cell.money_text_label.text =[@"¥"];
}
if (indexPath.section == 1)
{
cell.textLabel.text = [m_arr_data_sourcesobjectAtIndex:indexPath.row];
}
return cell;
}
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return80;
}
@end
相关推荐
分析与实战是iOS应用逆向工程方面的权威著作,三位作者都是iOS领域内的专家,拥有扎实的理论知识和丰富的实践经验。本书内容以工具+代码的形式全面、系统地展开知识点,由浅入深,图文并茂地带着读者一步步探索常规...
iOS应用逆向工程(第2版) 第一部分 概 念 篇 第1章 iOS逆向工程简介 3 1.1 iOS逆向工程的要求 3 1.2 iOS应用逆向工程的作用 4 1.2.1 安全相关的iOS逆向工程 5 1.2.2 开发相关的iOS逆向工程 6 1.3 iOS应用...
iOS安全学习笔记的知识点涵盖了多个方面,从学习资料的搜集到优秀博客文章和GitHub资源的整理,这为iOS安全研究者提供了一个丰富的资源库。以下是对上述内容中提及知识点的详细说明: 1. iOS安全学习资料汇总 首先...
以上内容基于《马上着手开发iOS应用程序》文档整理而成,旨在帮助初学者快速入门iOS应用开发。随着实践经验的积累和技术的不断进步,开发者能够更好地理解和掌握这些核心概念,并应用于实际项目中。
你应该准备描述一个具体的项目案例,阐述你在其中的角色,使用的开发工具和技术栈,以及如何通过代码优化提升性能或用户体验。 2. **Automatic Reference Counting (ARC)** ARC是iOS开发中的内存管理机制,从iOS 5...
7. **整理编译产物**:将编译好的MQTTClient.framework、Pods_MQTTClientiOS.framework和其他必要的.h文件整理到一个项目文件夹内,形成一个可以集成到iOS工程的结构。 8. **新建Xcode工程**:创建一个新的Xcode...
操作系统:LInux、IOS、树莓派、安卓开发、微机操作系统、网络操作系统、分布式操作系统等。此外,还有嵌入式操作系统、智能操作系统等。 网络与通信:数据传输、信号处理、网络协议、网络与通信硬件、网络安全网络...
【iOS面试宝典——最新版】是一份集大成的面试指南,专为那些准备投身或已经在iOS开发领域摸爬滚打的工程师们量身打造。...同时,配合【印象笔记.pdf】,可以更系统地整理和回顾所学,巩固知识,提高面试成功率。
在iOS开发过程中,组织代码结构是一项重要的任务,它有助于项目的可维护性和团队协作。`ios-SynxPlugin` 是一个基于 `Synx` 的插件,它的主要目标是简化这个过程,将Xcode项目中的Group结构自动同步到实际的文件系统...
在压缩包内的文件“乐燃纸上”,可能是这个项目的主工程文件或者是包含整个项目源代码的文件夹。通常,iOS项目会包含一系列的Swift或Objective-C源代码文件(.swift或.m/.h),资源文件(如图片、音频、故事板文件....
14. **软件工程**:敏捷开发、Scrum流程、代码规范、团队协作和项目管理的理解。 压缩包内的"ahao4"可能是一个文件或文件夹,具体包含的可能是上述某个或多个知识点的详细解答、样例代码或案例分析。对于准备面试的...
扫描工程中的代码,生成同等数量的 Category 文件,文件中及是同等方法数量的垃圾代码。 修改 xxx.xcassets 文件夹中的 png 资源文件名。 删除代码中的所有注释和空行。 使用 使用源码 下载源码。 用 Xcode 打开工程...
"IOS应用源码——国内网站分类导航 WebsiteNavigation.zip" 是一个与iOS应用开发相关的资源,其中包含了构建一个能够对国内网站进行分类导航的应用的源代码。"WebsiteNavigation"很可能是这个应用的项目名称,它体现...
在iOS开发中,静态库(Static Library)是一种将多个源代码编译成的二进制文件打包在一起的库形式,开发者可以将其集成到项目中,以便复用代码或提供特定功能。静态库在编译时会被直接链接到目标应用程序中,成为...
IOS项目的基础框架,对于移动开发而言、每个工程都有一些必不可少的代码,复用性是非常之高的。 比如:网络、验证、按钮、逻辑列表、字符串处理、日期处理、解析处理、数据库、颜色等等。所以我就整理的这么一套东东...
最近有空整理一下项目,做了一个仿赤兔、新浪微博动态列表(带评论、点赞、转发和分享,自动计算行高功能)的DEMO。HKPTimeLine ,喜欢的可以star一下哦。 csdn : ...
- ** Frida**:动态代码插桩工具,可注入代码到正在运行的应用,便于逆向工程和调试。 - **iOSSh**:提供SSH访问到iOS设备,方便远程控制和数据提取。 2. **Android渗透测试环境**: - **Genymotion**:快速且...