- 浏览: 904288 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (466)
- iPhone, iOS , Objective-c (155)
- 数据库 (20)
- 设计模式 (5)
- 第三方包管理,cocoapod (2)
- 版本管理, SVN, Subversion, Git (1)
- Google, Android, Java (14)
- Wordpress (1)
- 职业素养 (3)
- 版本管理,git (3)
- 前端小技巧 (2)
- flash (1)
- javascript (5)
- Ruby (0)
- 编程语言 (1)
- 网络常识 (1)
- 找到生活好感觉 (5)
- 产品经理 (1)
- markdown (1)
- 云服务器 (1)
- iPhone (116)
- iOS (116)
- Objective-c (116)
- 学习技巧 (2)
- Google (5)
- Android (6)
- Java (21)
- python (1)
- sqlite (3)
- node.js (2)
- mongodb (2)
- 学习技巧,阅读 (2)
- 软件测试 (3)
- 架构设计 (2)
- 设计 (1)
- Spring framework (3)
- junit (1)
- Linux (2)
- 软件 (1)
- Struts2 (1)
- 版本管理 (3)
- SVN (3)
- Subversion (3)
- Git (3)
- mysql (5)
- quartz (1)
- 无关技术 (1)
- 前端 (1)
- Redis (1)
- 产品管理 (0)
- 计算机常识 (1)
- 计算机科学 (0)
- swift (1)
- 服务器 (2)
- 搜索 (1)
- Scala (1)
- J2EE (1)
- maven (1)
- 前端css (1)
- 英语 (1)
- 消息队列 (1)
- kafka (0)
- apache kafka (4)
- netbeans (1)
- IDE (2)
- 歌词 (1)
- 过滤器实现 (1)
- linux vim vi (1)
- jmeter (1)
- springcloud (1)
最新评论
-
hujingnemo:
不知道为什么打不开
CHM如何改编字体大小 -
weiboyuan:
求答案 weiboyuanios@163.com
iOS软件工程师面试题(高级) -
xueji5368:
这个现在已经广泛使用了嘛!
RoboGuice入门 -
Yao__Shun__Yu:
...
CHM如何改编字体大小 -
353144886:
非常之详细 美女求认识
sqlite数据类型 datetime处理
合并同一时间的课程,同一时间可能有多个课程,比如13:30-14:00 13:40-14:40
//递归实现
-(void)mergeClassSchedule:(NSMutableArray*)ary
retArray:(NSMutableArray*)retAry
beginDate:(NSDate*)beginDate
endDate:(NSDate*)endDate
{
NSMutableArray *groupAry=[NSMutableArray new];
if ([ary count]>0) {
[retAry addObject:groupAry];
}
while ([ary count]>0)
{
XSClassScheduleModel *classSchedulemodel=[ary objectAtIndex:0];
if (beginDate==nil)
{
beginDate=[XSUtil str2DateEx:classSchedulemodel.BeginDateTimeUTC];
endDate=[XSUtil str2DateEx:classSchedulemodel.EndDateTimeUTC];
[groupAry addObject:classSchedulemodel];
[ary removeObjectAtIndex:0];
}
else
{
NSDate *beginDate2=[XSUtil str2DateEx:classSchedulemodel.BeginDateTimeUTC];
NSDate *endDate2=[XSUtil str2DateEx:classSchedulemodel.EndDateTimeUTC];
if (([beginDate compare:beginDate2]==NSOrderedAscending || [beginDate compare:beginDate2]==NSOrderedSame)
&& [endDate compare:beginDate2]==NSOrderedDescending)
{
[groupAry addObject:classSchedulemodel];
[ary removeObjectAtIndex:0];
endDate=[endDate compare:endDate2]==NSOrderedAscending?endDate2:endDate;
}
else
{
beginDate=nil;
[self mergeClassSchedule:ary retArray:retAry beginDate:beginDate endDate:endDate];
}
}
}
}
//递归实现
-(void)mergeClassSchedule:(NSMutableArray*)ary
retArray:(NSMutableArray*)retAry
beginDate:(NSDate*)beginDate
endDate:(NSDate*)endDate
{
NSMutableArray *groupAry=[NSMutableArray new];
if ([ary count]>0) {
[retAry addObject:groupAry];
}
while ([ary count]>0)
{
XSClassScheduleModel *classSchedulemodel=[ary objectAtIndex:0];
if (beginDate==nil)
{
beginDate=[XSUtil str2DateEx:classSchedulemodel.BeginDateTimeUTC];
endDate=[XSUtil str2DateEx:classSchedulemodel.EndDateTimeUTC];
[groupAry addObject:classSchedulemodel];
[ary removeObjectAtIndex:0];
}
else
{
NSDate *beginDate2=[XSUtil str2DateEx:classSchedulemodel.BeginDateTimeUTC];
NSDate *endDate2=[XSUtil str2DateEx:classSchedulemodel.EndDateTimeUTC];
if (([beginDate compare:beginDate2]==NSOrderedAscending || [beginDate compare:beginDate2]==NSOrderedSame)
&& [endDate compare:beginDate2]==NSOrderedDescending)
{
[groupAry addObject:classSchedulemodel];
[ary removeObjectAtIndex:0];
endDate=[endDate compare:endDate2]==NSOrderedAscending?endDate2:endDate;
}
else
{
beginDate=nil;
[self mergeClassSchedule:ary retArray:retAry beginDate:beginDate endDate:endDate];
}
}
}
}
发表评论
-
UIImage变为NSData并进行压缩
2014-05-19 20:23 1928//sdk中提供了方法可以直接调用 UIImage *im ... -
update cocapods
2014-05-17 22:27 800早上更新cocoapod依赖库,发现更新到32.1版本,早先的 ... -
iOS发送短信息代码实例
2014-05-16 18:15 2686#import <MessageUI/Message ... -
DISPATCH TIMER
2014-05-14 16:12 729/* __block void (^callback) ... -
UITextField左边显示图片
2014-05-13 18:08 1170The overlay view displayed on t ... -
iOS调用系统打电话,发短信功能
2014-05-11 15:48 2084先介绍一种最简单的方法: 调用打电话功能 [[UIAppl ... -
iOS面试题
2014-05-09 16:10 10771.写一下UIButton与UITableView的层级结构 ... -
socket二进制报文
2014-05-09 15:18 1300里面有帧头 字符串UTF-8 中间用0隔开 又一个字符串 ... -
将网站添加到桌面的方法
2014-05-08 14:25 1661<link href="http://www. ... -
iPhone通讯录联系人操作大全
2014-05-07 10:29 14591.需要引入AddressBook.framework框架 2 ... -
sqlite获取最新插入的rowid
2014-05-07 09:59 1523除了 last_insert_rowid select max ... -
号码归属地查询,拨打电话
2014-05-06 15:07 845在程序内调用拨打电话的方法,[[UIApplication s ... -
vCard通讯录格式说明
2014-04-28 16:47 2557原帖:http://freesoftman.iteye.com ... -
UISearchBar背景色全套解决方案
2014-04-25 09:36 7443os系统升级到7.1后,原来在7.0下显示正常的UISearc ... -
升级XCode5.1.1遇到的奇葩问题NSString,NSObjectRuntime.h报错,Foundation找不到
2014-04-24 11:19 897升级XCode5.1.1遇到的奇葩问题NSString,NSO ... -
将NSString转为NSArray
2014-04-22 16:52 6270// Your JSON data: NSString *c ... -
另外一种NSData转为NSString的方法
2014-04-22 15:40 1212If the data is not null-termina ... -
HTTP,Socket,WebSocket异同
2014-04-18 16:54 1833参考文章: http://abbshr.g ... -
push隐藏UINavigtaionBar和UITabbar
2014-04-17 15:20 1093[self.navigationController setN ... -
数据库SQL
2014-04-11 13:31 9221、说明:创建数据库 CREATE DATABASE data ...
相关推荐
在iOS平台上,开发一款能够录制并合并视频的应用是一项常见的任务,尤其对于那些希望创建个性化短视频或者需要整合多段素材的用户来说。这个功能涉及到多个关键的技术点,包括视频录制、文件管理以及视频处理。以下...
在iOS开发中,视频合并是一项常见的任务,尤其在制作应用如短视频编辑、视频分享或多媒体交互等场景下。本文将详细讲解如何利用苹果的AVFoundation框架来实现视频合并的功能。 首先,我们需要理解AVFoundation框架...
音视频合成则是将音频流与视频流合并成一个完整的多媒体文件,常用于制作多媒体内容或者教育视频。在本话题中,我们将深入探讨如何在iOS上实现这些功能,以及如何保持低内存消耗。 首先,我们来讨论iOS的屏幕录制。...
2. AVMutableComposition:这个类是AVFoundation中的一个关键对象,允许开发者创建自定义的媒体组合,可以将多个音轨和视频轨道合并到一起。 3. AVAssetTrack:表示媒体资源的单一轨道,如音频或视频。在合成过程中...
9. **版本控制**:对于团队项目,开发者可能使用Git进行版本控制,协同开发,提交代码,并解决合并冲突。 10. **App Store发布**:最后,完成的项目需要符合Apple的App Store指南,通过Xcode进行打包和提交,以便...
在iOS平台上进行视频编辑,尤其是视频的分割、合并和剪辑,是一项常见的任务,尤其对于开发者来说,了解这些技能是至关重要的。在这个过程中,我们通常会利用强大的多媒体处理库,如FFmpeg。本文将深入探讨如何在iOS...
其次,iOS 12.3对Siri进行了升级,增加了对更多类型问题的回答能力,如体育赛事结果、比分预测和比赛时间等。此外,Siri的建议功能也得到了改进,可以根据用户的日常使用习惯提供更相关的建议。通过Siri Shortcuts,...
通过减少纹理切换,它能够减少加载时间和内存消耗,尤其适用于2D游戏中的精灵动画。Zwoptex还提供了XML或JSON格式的输出,方便在游戏中读取和使用这些图集。 2. **CocosBuilder**: CocosBuilder是另一款iOS开发工具...
通过自动化这些流程,开发者可以节省大量手动操作的时间,确保构建过程的一致性和可靠性。 2. **Services**: 文件夹中的"Services"可能包含了自定义的服务或者服务脚本,这些服务可能用于集成第三方API、数据同步...
Git默认并不适合管理这些大文件,因为它们会显著增加仓库的大小并延长提交和克隆的时间。为了解决这个问题,我们可以使用Git Large File Storage (LFS)。LFS是一种扩展,它将大文件替换为指向存储在远程服务器上的...
本文将深入探讨如何在iOS应用中实现一种自定义的马赛克时间风格,以20181210为背景,主要涉及的知识点包括Objective-C编程语言、UIKit框架、Core Graphics以及时间格式化。 首先,马赛克效果通常是通过图像处理技术...
SwiftyEventBus是专门为iOS平台打造的一个Swift实现的轻量级、无依赖的时间总线框架,它支持RxSwift扩展,为开发者提供了更灵活的异步事件处理能力。 SwiftyEventBus的核心概念是发布/订阅(Publish/Subscribe)...
8. **App Thinning**:为了减少应用下载和安装的时间,iOS9引入了App Thinning技术,根据用户的设备型号和系统版本,只下载必要的资源和代码。 9. **NSUserActivity和Continuity**:iOS9增强了连续性功能,通过...
总之,本文详细介绍了如何在iOS开发中实现两个有序数组的合并,提供了一个简单的O(n)时间复杂度的解决方案。通过这个例子,开发者可以学习到如何有效地处理数据,提高代码的执行效率。同时,不断学习和实践这样的...
在iOS开发中,视频合成是一项重要的技术,它允许开发者将多个视频片段合并成一个单一的视频文件,同时可能还需要处理如叠加图像、文字等元素。本教程将详细讲解如何在iOS应用中实现视频合成,主要关注苹果的...
9. 减少图层数量(Reduce Layer Count):为了提升性能,应尽量减少图层数量,这可能涉及到图层合并或者使用离屏渲染等技术。 在学习和应用iOS核心动画时,开发者需要关注CALayer类的使用,了解如何通过属性和方法...
也可以利用`CAAnimationGroup`来将多个Core Animation动画合并为一个组。 ### 动画的交互性 为了使动画更具交互性,可以使用`UIView.animate(withDuration:animations:completion:)`的`completion`参数来处理动画...
此外,文档中也提及了Airbnb在使用Buck的过程中的一些实际统计数据,例如每天合并到主分支的提交数量、每周的构建次数,以及最近一个月的iOS贡献者数量,这些数据进一步印证了Buck在大规模iOS开发中的有效性和可扩展...
理解图层树的渲染规则,以及如何利用图层树进行性能优化,例如通过设置compositingFilter进行像素合并。 8. **离屏渲染**:离屏渲染虽然可以实现某些高级效果,但也会带来性能开销。识别并避免不必要的离屏渲染是...