类型的值...没有成员

时间:2016-07-14 07:49:30

标签: ios swift

我是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)"

根本没用,它给了我很多其他错误。

2 个答案:

答案 0 :(得分:2)

这里有一个变量result被声明为结构PendingBinaryOperationInfo的属性。变量result不是CalculatorBrain类型的属性(至少在此处未显示)。因此错误。

你有:

struct PendingBinaryOperationInfo {
    var result: Double
}

正在寻找:

class CalculatorBrain { // 'class' is just an example
    var result: Double
}

答案 1 :(得分:0)

脑类没有结果这个成员,你需要检查脑类是否有结果变量。结果可能是私有或内部变量,因此您无法使用。它需要改为公共成员。