-3

我做了一个计算器,我试图=在按下操作员按钮后将 a 放在顶部,但每次我这样运行它时,它都会崩溃。

var equal = Double("=")
var DisplayValue: Double? {
    get {
        return NSNumberFormatter().numberFromString(display.text!)!.doubleValue
    }
    set {
        display.text = "\(newValue)" + equal userstyping = false
    }
}
4

1 回答 1

1

我不确定你想用这条线完成什么:

var equal = Double("=")

但是,由于“=”不能被解释为 nil,它实际上等同于:

var equal : Double? = nil

那时我认为您在执行时可能会崩溃:

display.text = "\(newValue)" + equal userstyping = false

虽然这真的不可能说,因为除非你真的有,否则它不会编译:

display.text = "\(newValue)" + equal
userstyping = false

即使这样也不会真正编译,因为你不能添加 String 和 Double?

无论哪种方式,我都尝试查看这一点,如果它在运行时编译并失败,我们没有您的实际代码。

于 2016-03-21T03:56:24.530 回答