Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 更新到Xcode 8 beta 6后,关联枚举中的CKErrorCode和.rawValue丢失_Swift_Xcode_Error Handling_Enums_Ckerror - Fatal编程技术网

Swift 更新到Xcode 8 beta 6后,关联枚举中的CKErrorCode和.rawValue丢失

Swift 更新到Xcode 8 beta 6后,关联枚举中的CKErrorCode和.rawValue丢失,swift,xcode,error-handling,enums,ckerror,Swift,Xcode,Error Handling,Enums,Ckerror,我在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无法识别。我仍在导入云,迁移将我的

我在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...
}
但这似乎也是错误的(beta版似乎在我的系统上有缺陷,所以错误会不断消失和再现,所以在我现在编写代码时很难判断,它可能只是我的系统,但在我编译时它们会一直存在)。我一直在扫描,但还没有发现任何东西,当我在谷歌上搜索CKErrorCode时,文档(我假设它忽略了swift3,因为它是beta版)似乎说我以前的语法是犹太教的


有人能给我指出正确的方向吗?枚举是否丢失了
.rawValue
?枚举似乎已经改变,但我很难找到关于我应该做什么的文档。是否有可以识别这些枚举案例的CKErrorCode替代方案?请不要告诉我云工具包错误处理的变化比这更大:)提前感谢。

从NSError转换为CKError,如下所示:

let nsError: NSError = NSError() // NSError variable. 

let cError = CKError(_nsError: nsError)

let cErrorCode = cError.code

您只需要从Swift 3错误转换为NSERRORM错误作为NSError传入,当我选择单击
Error
时,它被描述为
let Error:NSError
…您的意思是我需要从NSError转换为Swift 3错误(老实说,我有点搞不清楚桥接是如何工作的)。(错误为!NSError)。代码警告我正在从NSError转换为NSError。那么CKErrorCode是否已消失,或者我是否需要修复有关配置的某些内容?转换为CKError代码有效。谢谢,您可能想添加一些注释来解释这个代码唯一的答案。