有人能告诉我这里我做错了什么吗? “error”是从CloudKit返回的NSError。
if error.code == Int(CKErrorCode.NetworkFailure) {
//do something
}
给我这个错误:
二元运算符'=='不能应用于两个Int操作数
如果我这样做,它可以正常工作:
if error.code == 4 {
//do something
}
其中4是实际的错误代码。
答案 0 :(得分:4)
这里的问题是Int
没有一个以CKErrorCode
作为输入的构造函数。
在评论中,比较两个值的方法是:
if error.code == CKErrorCode.NetworkFailure.rawValue {
//do something
}
值得庆幸的是,XCode 7和Swift 2的错误消息已经改进,所以你会看到:
无法为类型' Int'调用初始化程序。使用类型'(CKErrorCode)'
的参数列表
哪一个更好地指示出了什么问题。