2016-07-14 450 views
1

我是Swift的新手,我正在使用斯坦福大学的课程在iTunes U上学习它。我正在编程一个计算器。课程视频中的讲师具有相同的代码,软件和相同版本的Xcode。Value of type ... has no member

因此,这里是我的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' 没有价值 '结果'

这是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

你确定它是在'CalculatorBrain'类中定义的吗?你能发布完整的'CalculatorBrain'代码吗? – fiks

+0

另外,请问你的大脑是什么类型?选项+点击你的大脑。 – Happiehappie

+0

错误消息意味着'result'不在类或结构'CalculatorBrain'的范围内。 – vadian

回答

2

这里有一个变量result,声明为struct PendingBinaryOperationInfo的属性。变量result不是CalculatorBrain类型的属性(至少在此处未显示),无论哪种情况。因此错误。

您有:

struct PendingBinaryOperationInfo { 
    var result: Double 
} 

当它在寻找:

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

脑类没有结果该会员,你需要检查脑类是一个具有结果变量。结果可能是私人或内部变量,所以你不能使用。它需要改变为公众成员。

相关问题