optional里问号感叹号好蛋疼...求帮忙

yao90928 2015-06-14 09:40:39
这段是对的
  var unit:NSDateComponents = calendar!.components(NSCalendarUnit.CalendarUnitHour, fromDate:date)

下面这个我换问号
 var unit:NSDateComponents = calendar?.components(NSCalendarUnit.CalendarUnitHour, fromDate:date)

(Value of optional type 'NSDateComponents?' not unwrapped; did you mean to use '!' or '?'?)
上面这段代码是报错的...xxx?.yyy()这种形式编译器不是会先对xxx变量进行判断然后隐式解包,也就是说应该和下面代码是等价的(看的onevcablog上的)
我去头文件里看下.nsdatecomponents这个压根没有optional类型...要是按照编译器提示给nsdatecomponents解包 肯定会报错没有重载这个函数....

if let tmp = calendar {
let unit1 = tmp.component(NSCalendarUnit.CalendarUnitMinute, fromDate: date)
}
//

描述可能不太清楚....这个东西绕了我好久了...每次就和打仗一样...一个个去试...实在不太理解
...全文
162 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

29,027

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧