下面的代码有以下错误:Missing return in a function expected to return 'String'
为什么它不能返回到其他地方?
var description: String {
get{
if(pending == nil){
return "a"
}
else{
if let op = internalProgram.last as? String{
if operations[op] != nil {
return "b"
}
}
else {
return "c"
}
}
}
}
但是,如果我删除最后一个else
和简单地离开return "c"
,它工作正常。
var description: String {
get{
if(pending == nil){
return "a"
}
else{
if let op = internalProgram.last as? String{
if operations[op] != nil {
return "b"
}
}
return "c"
}
}
}
为什么第一个代码不工作?他们有没有相同的功能?两者都不会达到最后的回报声明?在第一个代码中,如果其他所有内容都不起作用,则最后一个return语句将被执行。
那么,如果'op [op]'是'nil'呢?第一个代码不会返回任何东西。 – JJJ
@JJJ该死的,我很蠢。谢谢 –