选项值没有正确分配给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!