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

时间:2018-07-19 16:49:11

标签: swift

这是代码

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"
            }
        }
    }
}

倒数第二行出现错误:

  

缺少预期返回“字符串”的函数中的返回

如果我添加:

return "String"

我收到一条错误消息:

  

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

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

1 个答案:

答案 0 :(得分:1)

如果不满足其他条件,则应在每个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 ""
}