如何在iOS Swift中将Double转换为Int

时间:2019-03-02 01:44:52

标签: ios swift

enter image description here

tmp在运行时中显示为nil。 magneticField.x是Double,当我直接将其打印出来时,它具有一个值。

1 个答案:

答案 0 :(得分:1)

将Double转换为Int将按书面方式工作。问题是由于某种原因在运行时self.motion.magnetometerData为nil,因此tmp为nil。

通常最好安全地包装可选内容,例如:

let tmp = self.motion.magnetometerData?.magneticField.x
if let tmpValue = tmp {
    let tmpInt = Int(tmpValue)
    print(tmpInt) //And whatever else
}

或者,如果您打算在结果为零时不继续操作,请使用防护装置:

guard let tmp = self.motion.magnetometerData?.magneticField.x else {
    return //Or whatever is appropriate when the value is nil
}