我有以下代码在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个选项值,我用调试器验证了它
然而,在将值分配给ihh,imm之后,我看到它们(ihh,imm)都是零。
知道如何解决这个问题吗?
博尔纳
答案 0 :(得分:1)
var time = String(小时!)+“:”+ String(分钟!)
'描述'会在字符串中添加“可选”字样
答案 1 :(得分:1)
所有日期组件 - 顺便说一下,components
已更改为Swift 3中的dateComponents
,这也避免了转换为NSCalendar
- 是Swift 3中的选项(与非Swift 2)中的选项,你必须打开它们。
发生错误是因为"Optional(15)"
这样的文字无法转换为Int
。
let hour = components.hour!
let minutes = components.minute!