条件绑定的初始化程序必须具有可选类型,而不是"()"

时间:2016-03-10 17:41:50

标签: swift xcode7.2

我无法解决问题,如果让"我的代码中的问题。根据错误,它说我必须使用可选类型?

@IBAction func operate(sender: UIButton) {

    if userIsInTheMiddleOfTypingANumber{
        enter()
    }
    if let operation = sender.currentTitle {
        if let result = calcModel.performOperation(operation){
            displayValue = result
        }else {
            displayValue = 0
        }
    }
}

1 个答案:

答案 0 :(得分:1)

我怀疑你的问题就在这一行:

if let result = calcModel.performOperation(operation)

您的performOperation函数的返回类型为()或无效,这意味着它不会返回任何内容。有可能,为了在标题中出现错误,performOperation上的calcModel函数具有以下签名:

func performOperation(operation: String) {

注意缺少箭头和类型。如果您要返回结果,签名应该是这样的:

func performOperation(operation: String) -> Int {

如果您决定退回if let,则只需Int?