我正在使用CloudKit,并且在加载数据时正在检查代码中CKAsset是否为nil,例如:
let img = result.value(forKey: "Picture") as! CKAsset
if img != nil {
}
并得到以下错误:
“将非可选值类型'CKAsset'与nil比较总是返回true
我知道它与可选项有关,但找不到解决方案。
最佳答案
img
不能为nil
,因为您正在将其强制广播到CKAsset
。当然,如果result.value(forKey: "Picture")
返回nil
或它实际上不是CKAsset
,则您的应用将在运行时崩溃。
编写此代码的正确方法如下:
if let img = result.value(forKey: "Picture") as? CKAsset {
// do something with img
} else {
// there is no Picture value or it's not actually a CKAsset
}
关于swift - 在CKAsset中检查nil时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44960790/