这行没有给我任何错误:

if pendingBinaryOperation != nil && accumulator != nil {
    return (accumulator!.digit, true, pendingBinaryOperation!.description(pendingBinaryOperation!.descriptionOperand, accumulator?.literalDescription ?? " "), accumulator?.errorMessage)
} else  {
    return (accumulator!.digit, false, calculationDescription ?? "", accumulator?.errorMessage)
}

但是这一行确实给我一个错误:
if pendingBinaryOperation != nil && accumulator != nil {
    return (accumulator!.digit, true, pendingBinaryOperation!.description(pendingBinaryOperation!.descriptionOperand, accumulator?.literalDescription ?? " "), accumulator?.errorMessage)
} else if accumulator!.digit != nil {
    return (accumulator!.digit, false, calculationDescription ?? "", accumulator?.errorMessage)
}

消息是:
预期返回'(结果:Double ?, isPending:Bool,描述:字符串,errorMessage:String?)'的函数缺少返回(又名'(结果:可选,isPending:Bool,描述:字符串,errorMessage:可选)' )

最佳答案

我认为在第二个代码中,您将两个返回值都包装在一个“IF”中,它假定可能存在以下情况:它们都不为真,因此您根本没有任何返回值。

关于swift - 有人可以解释一下更改一行代码时为什么收到一条错误消息,提示我缺少退货的原因,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44762618/

10-12 16:16