基于AttenceTimelineCell的时间轴
来源:互联网 发布:世界地图销售网络下载 编辑:程序博客网 时间:2024/06/05 08:25
主要排序代码如下:
使用冒泡算法进行对日期和时间的排序,在AttenceTimelineCell基础上添加分段:
#pragma mark-对日期进行分类- (NSMutableArray *)siftArray:(NSMutableArray *)mArray{ NSMutableArray *resultArray = [NSMutableArray array]; for (int i = 0; i < mArray.count; i++) { DataModel *iModel = mArray[i]; NSString *modelDate = [iModel.expense_time substringToIndex:10]; // 加入数组 NSMutableArray *tempArray = [NSMutableArray array]; [tempArray addObject:iModel]; for (int j = i + 1; j < mArray.count; j++) { DataModel *jModel = mArray[j]; NSString *jModelDate = [jModel.expense_time substringToIndex:10]; if ([modelDate isEqualToString:jModelDate]) { [tempArray addObject:jModel]; } } if (tempArray.count > 0) { //对日期进行排序,从最近到最远 tempArray=[self sortDateWithArray:tempArray sortType:ZWSortType_Asc]; [resultArray addObject:tempArray]; resultArray = [self sortDayWithArray:resultArray sortType:ZWSortType_Asc]; [mArray removeObjectsInArray:tempArray]; i--; } } return resultArray;}#pragma Mark-对日期进行排序-(NSMutableArray *)sortDayWithArray:(NSMutableArray *)msArray sortType:(ZWSortType)type{ switch (type) { //降序 case ZWSortType_Asc: { for (int i = 0; i < msArray.count; i++) { DataModel *date1 = msArray[i][0]; for (int j = i + 1; j < msArray.count; j++) { DataModel *date2 = msArray[j][0]; if ([self compareDate:date1.expense_time withModelDate:date2.expense_time]) { [msArray exchangeObjectAtIndex:j withObjectAtIndex:i]; } } } } //升序 case ZWSortType_Order: { for (int i = 0; i < msArray.count; i++) { DataModel *date1 = msArray[i][0]; for (int j = i + 1; j < msArray.count; j++) { DataModel *date2 = msArray[j][0]; if (![self compareDate:date1.expense_time withModelDate:date2.expense_time]) { [msArray exchangeObjectAtIndex:j withObjectAtIndex:i]; } } } } break; default: break; } return msArray;}#pragma mark -对时间进行排序-(NSMutableArray *)sortDateWithArray:(NSMutableArray *)msArray sortType:(ZWSortType)type{ switch (type) { //降序 case ZWSortType_Asc: { for (int i = 0; i < msArray.count; i++) { DataModel *model1 = msArray[i]; for (int j = i + 1; j < msArray.count; j++) { DataModel *model2 = msArray[j]; if ([self compareDate:model1.expense_time withModelDate:model2.expense_time]) { [msArray exchangeObjectAtIndex:j withObjectAtIndex:i]; } } } } break; //升序 case ZWSortType_Order: { for (int i = 0; i < msArray.count; i++) { DataModel *model1 = msArray[i]; for (int j = i + 1; j < msArray.count; j++) { DataModel *model2 = msArray[j]; if (![self compareDate:model1.expense_time withModelDate:model2.expense_time]) { [msArray exchangeObjectAtIndex:j withObjectAtIndex:i]; } } } } break; default: break; } return msArray;}
效果如下:
1 0
- 基于AttenceTimelineCell的时间轴
- 基于时间轴的视频文件检索
- 基于时间的动画算
- 基于Bootstrap垂直响应的jQuery时间轴特效
- 基于jQuery时间轴幻灯片
- 维护基于时间的访问控制列表
- 基于时间点的不完全恢复
- Oracle基于时间点的恢复畅想
- RMAN基于时间点的不完全恢复
- Oracle基于时间点的备份
- 基于OLAP的时间维度设计
- Oracle基于时间点的恢复
- Mysql实现基于时间点的恢复
- Oracle基于时间的不完全恢复
- 基于时间的提醒AlarmManager和Service
- TSPITR基于表空间的时间恢复
- 基于优先权的时间片轮转算法
- mysql基于时间恢复的一个过程
- 服务器开发需要的知识提纲
- LeetCode 137. Single Number II
- C++常见的几个库函数详解
- ORA-19698: /home/xxx/xxx/redo01.log is from different database
- FeatureLayer,FeatureDataset,FeatureClass,Feature,IFeatureCursor几个概念总结
- 基于AttenceTimelineCell的时间轴
- #6JAVA异常处理方案#
- Windows下安装Resin配置
- jsp不能显示中文的问题
- ArcEngine属性条件查询和空间条件查询
- 美团笔试题 最大差值
- 跟我一起学习MySQL技术内幕(第五版):(第二章学习日记2)
- Android Paint之 setXfermode PorterDuffXfermode 讲解
- Particle 离子系统