选项值未正确分配给变量

时间:2016-11-01 14:48:59

标签: ios swift

我有以下代码在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)都是零。
知道如何解决这个问题吗?
博尔纳

2 个答案:

答案 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!