我对 core-data 实体的 Int32 属性的切换条件为
switch location.userLocationLike?.likeStatusId {
case 1 as Int32:
view.lblLike.text = "LIKED"
case 2 as Int32:
view.lblLike.text = "OKAY"
case 3 as Int32:
view.lblLike.text = "DISLIKE"
default:
view.lblLike.text = "LIKE"
}
如果我不将转换值输入为 Int32,则会显示错误,如果我将其转换为 Int32,则会显示警告。谁能解释一下编写 Switch-case 的最佳方法是什么。
最佳答案
该错误具有误导性,根据 as Int32
的警告,您无法在非可选情况下打开可选、可选绑定(bind)(甚至强制展开)userLocationLike
> 强制转换毫无意义。
if let likeStatus = location.userLocationLike {
switch likeStatus.likeStatusId {
case 1: view.lblLike.text = "LIKED"
case 2: view.lblLike.text = "OKAY"
case 3 view.lblLike.text = "DISLIKE"
default: view.lblLike.text = "LIKE"
}
}
关于ios - 快速切换大小写警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43071392/