【问题标题】:How can I fix this switch statement error?如何修复此 switch 语句错误?
【发布时间】:2021-03-23 23:13:29
【问题描述】:

我有一个错误提示“切换必须是详尽的 1。您要添加缺失的案例吗?”

func checkAuthorization() {
    switch PHPhotoLibrary.authorizationStatus() {
    case .notDetermined:
        PHPhotoLibrary.requestAuthorization { [weak self] status in
            switch status {
            case .authorized:
                self?.initPhotoLibrary()
            default:
                self?.handleDeniedAlbumsAuthorization()
            }
        }
    case .authorized:
        self.initPhotoLibrary()
    case .restricted: fallthrough
    case .denied:
        handleDeniedAlbumsAuthorization()
    
    }
}

【问题讨论】:

  • 您缺少一些开关盒。要么定义所有案例,要么定义默认案例
  • Do you want to add missing cases? - 是的,你绝对可以。如果您不想拥有 default 案例,Xcode 甚至可以为您完成。
  • @Gereon 不正确,@unknown default 是必不可少的。
  • @matt 但这就是 Xcode 在您单击修复时添加的内容,不是吗?

标签: swift xcode switch-statement


【解决方案1】:

在 iOS 14 中,正确的写法是:

        case .notDetermined: // ...
        case .restricted: // ...
        case .denied: // ...
        case .authorized: // ...
        case .limited: // ...
        @unknown default: // ...

【讨论】:

  • 你好,马特!其他人为我编写了这个应用程序,我真的是一个对代码知之甚少的企业家,我需要修复这个错误。
  • 我需要重写代码吗?或者我可以按原样修复它吗?
  • 你在箱子里放什么取决于你。但它们都必须存在并且它们都必须包含一些代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-16
  • 1970-01-01
相关资源
最近更新 更多