Swift 预期返回的函数中缺少返回';字符串';(未找到答案)

Swift 预期返回的函数中缺少返回';字符串';(未找到答案),swift,Swift,这是密码 import Foundation import ARKit extension ARCamera.TrackingState { var presentationString: String { switch self { case .notAvailable: return "TRACKING UNAVAILABLE" case .normal: return "TRACKIN

这是密码

import Foundation
import ARKit

extension ARCamera.TrackingState {
    var presentationString: String {
        switch self {
        case .notAvailable:
            return "TRACKING UNAVAILABLE"
        case .normal:
            return "TRACKING NORMAL"
        case .limited(let reason):
            switch reason {
            case .excessiveMotion:
                return "TRACKING LIMITED\nToo much camera movement"
            case .insufficientFeatures:
                return "TRACKING LIMITED\nNot enough surface detail"
            case .initializing:
                return "INITIALIZING"
            case .relocalizing:
                return "RELOCALIZING"
            }
        }
    }
}
我在倒数第二行看到一个错误,它说:

预期返回“String”的函数中缺少返回

如果我加上:

return "String"
我得到一个错误,说:

行上的连续声明必须用“;”分隔和“预期声明”


我尝试在这段代码中返回一个字符串,但没有任何效果。

您应该在每个switch语句中添加一个
default
,以防其他条件都不满足

switch self {
    case .notAvailable:
        return "TRACKING UNAVAILABLE"
    case .normal:
        return "TRACKING NORMAL"
    case .limited(let reason):
        // Do something
    default:
        // You can edit the string to return in this case (could be some error message)
        return ""
}

想想当
self
不是您列出的三个值之一时会发生什么。然后显示您尝试添加
return“String”的位置。
@rmaddy@rmaddy@rmaddy Welp,我删除了代码末尾的一个括号,点击了undo,错误消失了。然后…我很乐意使用第一个图像。放入“default:return”“在第二个switch语句的内部执行此操作-加上错误消息。。。当我没有改变任何事情的时候就离开解决了这个问题。非常感谢!令人惊叹的如果答案对你有帮助,请随意接受:)