【问题标题】:Calculator error计算器错误
【发布时间】:2016-03-21 01:42:11
【问题描述】:

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

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

【问题讨论】:

  • 就崩溃而言,避免使用!,除非您知道是否不会失败。例如。 return display.text == nil ? nil : NSNumberFormatter().numberFromString(display.text!)?.doubleValue。重新初始化equal 以及随后在设置display.text 时使用它,这些都没有意义,所以你必须告诉我们你在那里尝试做什么。

标签: swift get set xcode7.2


【解决方案1】:

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

var equal = Double("=")

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

var equal : Double? = nil

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

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

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

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

由于无法添加 String 和 Double,即使这样也不会真正编译?

无论我怎么看,如果它正在编译并且在运行时失败,我们没有你的实际代码。

【讨论】:

    猜你喜欢
    • 2013-04-29
    • 1970-01-01
    • 1970-01-01
    • 2011-10-31
    • 2018-04-01
    • 1970-01-01
    • 2012-12-26
    • 2018-04-27
    相关资源
    最近更新 更多