我正在做iTunes大学的课程,叫做#34;使用Swift开发iOS 8应用程序"。在我遇到的第三个视频中遇到了视频中没有发生的问题,即使它是相同的代码,如下所示:
class ViewController: UIViewController{
…
@IBAction func operate(sender: UIButton) {
if userIsInTheMiddleOfTypingANumber{
enter()
}
if let operation = sender.currentTitle {
if let result = brain.performOperation(operation) { > ERROR HERE
displayValue = result
} else {
displayValue = 0
}
}
}
…
}
在阅读了这个错误的许多解释后,我想问题来自这里:
class CalculatorBrain
{
…
func performOperation(symbol: String) {
if let operation = knownOps[symbol] { opStack.append(operation)
}
}
}
谢谢你能帮助我!
答案 0 :(得分:3)
performOperation没有返回任何东西,需要返回一个可选类型,以便它可以在你的if语句中使用(检查它是否确实返回了一个值)以及它可能是什么呻吟。
尝试:
func performOperation(symbol: String) -> Int? {
这意味着它可以返回一个Int,然后你的if let语句应该很高兴。