设万维读者为首页 万维读者网 -- 全球华人的精神家园 广告服务 联系我们 关于万维
 
首  页 新  闻 视  频 博  客 论  坛 分类广告 购  物
搜索>> 发表日志 控制面板 个人相册 给我留言
帮助 退出
茶树油之家  
与大家交流和分享苹果产品、网络技术,以及美乐家茶树油及相关的信息  
https://blog.creaders.net/u/588/ > 复制 > 收藏本页
网络日志正文
学习苹果WWDC 2011视频讲座的笔记(15) 2011-08-06 19:28:57
我现在学习WWDC2011的视频已经完成了400系列,今天进入最后的500系列。有关视频的笔记是越来越拖后了。不过我还是要继续做笔记,留作我将来参考之用。

Session 117 - Performing Calendar Calculations


日历和日期的计算是软件编程中经常遇到的技术问题,该讲座介绍了苹果的有关API,提供各种日期的计算,这样软件开发者可以避免需要考虑到各种不同日历和日期计算的复杂问题,夏令时,以及日期和时间的不同格式,使得软件可以覆盖各种不同地区的情况。

这些非常琐碎的问题的确是许多编程人员无法顾及的,比如说1月9日加一个月是2月9日,但1月30日加1个月则不是简单加一个月的问题,因为2月一般没有30日。按照一般算法应该是2月28日。2月28日加一个月应该是3月28日,那么1月30日加两个月是什么日期呢?苹果的API自动解决这个问题。所有这些非常琐碎和细节的问题,软件开发人员一般很难提出最佳的解决方法,苹果的API这为软件开发人员提供了便捷的解决方案,而且可以应用到各种不同地区的日历。因此苹果极力推荐使用苹果的日期和计算API。

苹果Cocoa有关日期计算的APIs

  • NSimeInterval
  • NDDate
  • NSCalendar
  • NSDateComponents
  • NSTimeZone
  • NSDateFormatter

讲演中举了一个很简单的例子,从1月1日00:00:00循环加一天,许多程序都是加86400秒(一天的秒数),这在许多日子都是正确的,比如1月1日00:00:00加86400秒就是1月2日00:00:00,如此下去,但是3月13日00:00:00加86400秒之后,就是14月3日01:00:00,接着加下去就是15月3日01:00:00,如此下去,结果时间向上移动了一个小时。这个错误是因为美国的夏令时转变的时候,3月13日只有23个小时。如果采用苹果的NSDateComponents得到1 day的变量,用这个1 day的变量取代86400秒,则计算不会出现这种错误,苹果的时间计算自动发现夏令时,这一天的时间自动会调节到我们预期的目的。像这样的计算问题时非常难察觉到错误的。

该讲座还举了许多有关闰年、夏令时和地区不同的时间计算例子,其中有许多非常的情况下,日期的计算不是简单的数学算法,需要作必要的调整。讲座列出许多需要考虑的小技巧。

讲座讲解了新的有关时间的API,如NSYearCalendarUnit常数为普通日历的年,新的component类型:

  • NSWeekOfYaerCalendarUnit
  • NSWeekOfMonthCalendarUnit
  • NSYearForWeekOfYearCalendarUnit
  • NSWeekCalendarUnit将会淘汰
最后介绍了如何正确使用NSDateFormatter将日期和时间转换为当地的日期和时间。

Session 118 - Making the Most of Multi-Touch on iOS


自iPhone推出之后,苹果就推出了有关触屏的API。该讲座回顾了触屏的基本概念和处理触屏的策略,列举了iOS中处理触屏的各种class。

首先以一个例子介绍了触屏的处理过程,触屏的基本API:touchesBegan, touchesMoved, touchesEnded, 和touchedsCancelled。

然后介绍了如何处理Touch的各种指法,用指法识别API得到各种指法。在软件设计中重要的一点上在Touch的整个流程之中,用适合的view来处理Touch。处理Touch的方式应该是使用苹果的delegates和notifications,这样可以在指定的UI接受到Touch,然后用相应的指法识别API来鉴别各种指法。

另一个应该考虑的重要之点是软件应该有处理Cancel或取消的情形,电话、突然提示、多任务转换和多任务转换指法等情况会中断Touch的过程。因此,软件应该考虑取消,应该有取消事件的接口,作出相应的取消处理。

我的RSS
浏览(807) (0) 评论(0)
发表评论
我的名片
茶树油之家
来自: 加拿大
注册日期: 2007-01-19
访问总量: 517,122 次
点击查看我的个人资料
Calendar
最新发布
· ZOOM 會議:iOS 平台上的軟件開
· 專注做一件事是最好的擺脫
· 我的 iOS app 更新了
· 有關老面製作的問與答(三)
· 從Legacy 小道,我重新開始了跑
· 從Legacy 小道,我重新開始了跑
· 為準備馬拉松長跑的第一次嘗試
分类目录
【社会公益】
· 飄香茉莉 - 李靖惠
· 天使的恩賜
· 經典京劇『鎖麟囊』
· 挑戰自己:參加2013卡爾加里馬拉
· 梦想合唱团大聚会与奥运梦想
· 中央电视台的梦想合唱团公益活动
【WWDC】
· 學習WWDC 2017
· 學習WWDC 2015
· 網上學習:WWDC 2013視頻講座
· WWDC 2013技術講座視頻
· WWDC 2012笔记(4)
· WWDC2012的学习笔记(3)
· WWDC 2012的学习笔记(2)
· WWDC 2012的学习笔记(1)
· WWDC2011视频的学习笔记(21)
· WWDC2011视频的学习笔记(19)
【网络安全】
· Heartbleed網絡安全漏洞
· 苹果小技巧:如何在PDF文件上加
· 警惕你的苹果礼物卡被窃
· 苹果用户的独特免疫能力
· 苹果发布安全更新2011-003
· 最新的微软IE漏洞和劫持Cookie的
· 新的恶意软件第二番攻击苹果
· 新的恶意软件开始攻击苹果
【生活与健康】
· 有關老面製作的問與答(三)
· 從Legacy 小道,我重新開始了跑
· 從Legacy 小道,我重新開始了跑
· 為準備馬拉松長跑的第一次嘗試
· 張宏文與西班牙華人的醫療諮詢
· 有關老面製作的問與答(二)
· 美麗的洛基山脈
· 有關老面製作的問與答(一)
· 我為什麼喜歡蘋果
· 加拿大抗新冠病毒動態 2020.4.16
【TED视频】
· 請求的藝術
· TED有關兩種不同政治制度的精彩
· 游擊隊方式的城市菜園
· 玩游戏可以多活十年
· 中毒宝宝
· 中美关系不需要多一个律师
· TED视频:脆弱的力量
· TED视频精选:戴维·卡梅伦论政府
· TED视频:为什么SOPA是一个馊主
· TED视频:失败是成功之母
【海外生活】
· 從Legacy 小道,我重新開始了跑
· 從Legacy 小道,我重新開始了跑
· 為準備馬拉松長跑的第一次嘗試
· 張宏文與西班牙華人的醫療諮詢
· 有關老面製作的問與答(二)
· 美麗的洛基山脈
· 有關老面製作的問與答(一)
· 我為什麼喜歡蘋果
· 加拿大抗新冠病毒動態 2020.4.16
· 加拿大抗新冠病毒動態 2020.4.16
【网络服务】
· 專注做一件事是最好的擺脫
· 谷歌帳號和相應的雲服務
· 用圖像和風格語言css 定義數字章
· 网络服务:计算型知识引擎服务
· 如何优化图像所占用的空间
· 用视觉方式快速算算数
· 新浪【船过水无痕】的博文,非常
· 苹果的云服务iCloud与谷歌的云服
· 新浪微博对话实例
· 使用网络翻译服务,写中文博客
【软件开发】
· ZOOM 會議:iOS 平台上的軟件開
· 專注做一件事是最好的擺脫
· 我的 iOS app 更新了
· iOS App: TapToCount - 3W
· 第一个iOS app 的里程碑
· TestFlight - 蘋果iOS app測試的
· 24點的算法
· 學習WWDC 2015
· 漢字聽寫大會-電腦書寫輸入法
· WWDC2012的学习笔记(3)
【我爱苹果】
· ZOOM 會議:iOS 平台上的軟件開
· 我為什麼喜歡蘋果
· iOS App: TapToCount - 3W
· 為武漢发生COVID-19疫情做一點貢
· 第一个iOS app 的里程碑
· 创作app的乐趣
· 你知道你的睡覺節奏規律嗎?
· 學習WWDC 2017
· 點擊計數 - 記住隨時隨地的點滴
· 學習WWDC 2015
【网络技术】
· 專注做一件事是最好的擺脫
· 如何用 Blogger 邀请朋友共同写
· 今天是3.14日,以及VIM的強大區
· 探討:採用QR碼快速連接Wi-Fi
· 互聯網+和微信
· 写博客的体会
· WA实例:分数的计算
· 如何将XML内容用HTML格式表述
· 如何优化图像所占用的空间
· 谷歌博客更新:增加动态放大图像
【茶树油】
· 有關老面製作的問與答(三)
· 茶樹精油消毒殺菌的熏蒸法
· 新冠病毒核酸檢測之淺解
· 倡議:聯合海外華人寫抗疫日記
· 茶树精油新用法:消毒和清洁面部
· 為關心COVID-19疫情寫的小詩
· 為武漢发生COVID-19疫情做一點貢
· 2018,达到一万公里里程碑!
· Melaleuca 2017/12/26 年銷售額
· 跑步里程達到八千公里
存档目录
2020-05-11 - 2020-05-21
2020-04-04 - 2020-04-23
2020-03-01 - 2020-03-31
2020-01-07 - 2020-01-25
2019-03-20 - 2019-03-20
2019-02-09 - 2019-02-09
2018-12-31 - 2018-12-31
2018-05-18 - 2018-05-18
2017-12-09 - 2017-12-26
2017-10-19 - 2017-10-19
2017-09-06 - 2017-09-06
2017-08-17 - 2017-08-17
2017-06-07 - 2017-06-28
2017-04-12 - 2017-04-28
2017-03-31 - 2017-03-31
2017-02-22 - 2017-02-22
2017-01-18 - 2017-01-23
2016-10-25 - 2016-10-25
2016-03-21 - 2016-03-21
2016-02-01 - 2016-02-17
2016-01-12 - 2016-01-22
2015-12-04 - 2015-12-11
2015-11-19 - 2015-11-24
2015-10-14 - 2015-10-14
2015-08-05 - 2015-08-05
2015-07-24 - 2015-07-24
2015-04-06 - 2015-04-24
2015-03-14 - 2015-03-18
2015-02-05 - 2015-02-05
2015-01-20 - 2015-01-20
2014-12-13 - 2014-12-13
2014-11-13 - 2014-11-13
2014-10-01 - 2014-10-10
2014-09-01 - 2014-09-24
2014-08-07 - 2014-08-29
2014-07-11 - 2014-07-31
2014-06-23 - 2014-06-23
2014-05-02 - 2014-05-31
2014-04-20 - 2014-04-27
2014-02-14 - 2014-02-14
2014-01-06 - 2014-01-29
2013-12-02 - 2013-12-30
2013-11-06 - 2013-11-18
2013-10-12 - 2013-10-30
2013-09-03 - 2013-09-03
2013-08-01 - 2013-08-23
2013-07-05 - 2013-07-30
2013-06-03 - 2013-06-14
2013-04-03 - 2013-04-30
2013-03-07 - 2013-03-30
2013-02-18 - 2013-02-23
2012-12-05 - 2012-12-25
2012-11-08 - 2012-11-25
2012-10-05 - 2012-10-18
2012-09-26 - 2012-09-26
2012-08-03 - 2012-08-25
2012-07-07 - 2012-07-27
2012-06-01 - 2012-06-28
2012-05-01 - 2012-05-27
2012-04-08 - 2012-04-27
2012-03-03 - 2012-03-31
2012-02-07 - 2012-02-29
2012-01-15 - 2012-01-27
2011-12-03 - 2011-12-20
2011-11-02 - 2011-11-22
2011-10-01 - 2011-10-30
2011-09-03 - 2011-09-24
2011-08-01 - 2011-08-31
2011-07-01 - 2011-07-30
2011-06-01 - 2011-06-29
2011-05-01 - 2011-05-31
2011-04-02 - 2011-04-30
2007-01-19 - 2007-01-19
 
关于本站 | 广告服务 | 联系我们 | 招聘信息 | 网站导航 | 隐私保护
Copyright (C) 1998-2025. Creaders.NET. All Rights Reserved.