更新到 Xcode 8 beta 6 后,关联枚举中丢失了 CKErrorCode 和 .rawValue
After updating to Xcode 8 beta 6, lost CKErrorCode and .rawValue from associated enums
我在 Xcode 7.3 中有一个 switch 语句(在将 error: NSError
作为参数传递后)像这样工作:
if let code:CKErrorCode = CKErrorCode(rawValue: error.code) {
switch code {
case .NotAuthenticated: etc...
}
}
在 Xcode 8 beta 6 中迁移到 Swift 3.0 后,我开始收到错误消息,提示无法识别 CKErrorCode。我仍在导入云,并且迁移将我的枚举小写了,我尝试像这样更改它:
switch error.code {
case .notAuthenticated.rawValue: etc...
}
但这似乎也有错误(测试版似乎在我的系统上有错误,所以错误不断消失并重新出现,所以我现在编码时很难说,它可能只是我的系统,但它们仍然存在我编译)。我一直在扫描 https://swift.org/migration-guide/#known-migration-issues and https://swift.org/migration-guide/ 但还没有发现任何东西,当我 google CKErrorCode 文档(我假设它忽略了 Swift 3 因为它处于测试阶段)似乎说我以前的语法是 kosher。
任何人都可以指出我正确的方向吗?枚举是否丢失了 .rawValue
?枚举似乎已经改变,但我很难找到关于我应该做什么的文档。是否有 CKErrorCode 的替代方案可以识别这些枚举案例?请不要告诉我云工具包错误处理的变化比这更显着:)提前致谢。
从 NSError 到 CKError 的转换如下所示:
let nsError: NSError = NSError() // NSError variable.
let cError = CKError(_nsError: nsError)
let cErrorCode = cError.code
我在 Xcode 7.3 中有一个 switch 语句(在将 error: NSError
作为参数传递后)像这样工作:
if let code:CKErrorCode = CKErrorCode(rawValue: error.code) {
switch code {
case .NotAuthenticated: etc...
}
}
在 Xcode 8 beta 6 中迁移到 Swift 3.0 后,我开始收到错误消息,提示无法识别 CKErrorCode。我仍在导入云,并且迁移将我的枚举小写了,我尝试像这样更改它:
switch error.code {
case .notAuthenticated.rawValue: etc...
}
但这似乎也有错误(测试版似乎在我的系统上有错误,所以错误不断消失并重新出现,所以我现在编码时很难说,它可能只是我的系统,但它们仍然存在我编译)。我一直在扫描 https://swift.org/migration-guide/#known-migration-issues and https://swift.org/migration-guide/ 但还没有发现任何东西,当我 google CKErrorCode 文档(我假设它忽略了 Swift 3 因为它处于测试阶段)似乎说我以前的语法是 kosher。
任何人都可以指出我正确的方向吗?枚举是否丢失了 .rawValue
?枚举似乎已经改变,但我很难找到关于我应该做什么的文档。是否有 CKErrorCode 的替代方案可以识别这些枚举案例?请不要告诉我云工具包错误处理的变化比这更显着:)提前致谢。
从 NSError 到 CKError 的转换如下所示:
let nsError: NSError = NSError() // NSError variable.
let cError = CKError(_nsError: nsError)
let cErrorCode = cError.code