选项值没有正确分配给variables

我有下面的代码,在Swift 3之前,升级到Swift 3之后,它不能正常工作

let calendar = Calendar.current let components = (calendar as NSCalendar).components([.hour, .minute], from: currentDate) let hour = components.hour let minutes = components.minute var time = String(describing: hour) + ":" + String(describing: minutes) var newTime = time.components(separatedBy: ":") var ihh = Int(newTime[0]) var imm = Int(newTime[1]) var shh = String(ihh!) var smm = String(imm!) 

newTime数组中有2个选项值,我用debugging器进行了validation。
然而,在将值分配给ihh,imm之后,我看到他们两个(ihh,imm)都是零。
任何想法如何解决这个问题?
博尔纳

var time = String(hour!)+“:”+ String(minutes!)

“描述”将“可选”字添加到string中

所有的date组件 – 顺便说一下, components已被更改为在Swift 3 dateComponents ,这也避免了转换为NSCalendar – 是Swift 3中的可选项(不像Swift 2中的非可选项),你必须解开它们。

发生此错误是因为像"Optional(15)"这样的文字不能转换为Int

 let hour = components.hour! let minutes = components.minute!