ios – 切换到Swift – 交换机中的Case标签应该至少有一个可执行语句

ios – 切换到Swift – 交换机中的Case标签应该至少有一个可执行语句,第1张

概述我有一个在 Swift中扩展String的枚举类型. 当我尝试使用开关时出现错误: Case label in a switch should have at least one executable statement 这是我的代码: enum UserInfosKey:String { case CameraMyPhotoStream = "CMPS" case CameraIC @H_404_1@我有一个在 Swift中扩展String的枚举类型.

当我尝试使用开关时出现错误:

Case label in a switch should have at least one executable statement

这是我的代码:

enum UserInfosKey:String {   case CameraMyPhotoStream = "CMPS"    case CameraICloudActivated = "CICA"    case CameraICloudShare = "CICS"    case ProjectTodayExtension = "PTE"    case ProjectShareExtension = "PSE"    case NetworkConnection = "NC"    case PhoneLanguage = "PL"    case CameraPhotosCount = "CPC"    case UserIDentifIEr = "UI"    case VersionHistory = "VH"    case Path = "Path"}class UserInfosController: NSObject {    func update(key:UserInfosKey,value:String,context:UserDefaultsMainKeys) -> String {        switch key {        case .CameraICloudActivated:        case .CameraICloudShare:        case .CameraMyPhotoStream:        case .CameraPhotosCount:        case .NetworkConnection:        case .PhoneLanguage:        case .UserIDentifIEr:            return value        default:            return ""        }    }}

我很确定这是一个简单的错误,有人看到了吗?

解决方法 swift switch语句中没有隐含的漏洞,因此您必须明确设置:
case .CameraICloudActivated: fallthrough    case .CameraICloudShare: fallthrough    case .CameraMyPhotoStream: fallthrough    case .CameraPhotosCount: fallthrough    case .NetworkConnection: fallthrough    case .PhoneLanguage: fallthrough    case .UserIDentifIEr:        return value

没有它,每个案例都有隐含的突破.

请注意,swift要求每个switch case包含至少一个语句 – 如果没有语句,则必须使用显式中断(在这种情况下意味着“什么都不做”)

总结

以上是内存溢出为你收集整理的ios – 切换到Swift – 交换机中的Case标签应该至少有一个可执行语句全部内容,希望文章能够帮你解决ios – 切换到Swift – 交换机中的Case标签应该至少有一个可执行语句所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1095325.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存