我是Swift的新手,我正在使用斯坦福大学的课程在iTunes U上学习它。我正在编写一个计算器。课程视频中的讲师具有相同的代码,软件和相同版本的Xcode。
所以这是我ViewController
的代码:
@IBAction private func performOperation(sender: UIButton) {
if userIsInTheMiddleOfTyping {
brain.setOperand(displayValue)
userIsInTheMiddleOfTyping = false
}
if let mathematicalSymbol = sender.currentTitle {
brain.performOperation(mathematicalSymbol)
}
displayValue = brain.result
}
错误出现在最后一句:displayValue = brain.result
:
'CalculatorBrain'类型的值没有值'result'
这是CalculatorBrain代码的一部分:
struct PendingBinaryOperationInfo {
var BinaryFunction: (Double, Double) -> Double
var firstOperand: Double }
var result: Double { get { return 0.0 } }
}
那么问题是什么?
P.S。所有计算器功能都未设置为工作。还有一些人建议的颂歌,
displayValue.text = "\(brain.result)"
根本没用,它给了我很多其他错误。
答案 0 :(得分:2)
这里有一个变量result
被声明为结构PendingBinaryOperationInfo
的属性。变量result
不是CalculatorBrain
类型的属性(至少在此处未显示)。因此错误。
你有:
struct PendingBinaryOperationInfo {
var result: Double
}
正在寻找:
class CalculatorBrain { // 'class' is just an example
var result: Double
}
答案 1 :(得分:0)