ios - 快速切换大小写警告

标签 ios swift switch-statement

我对 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 的最佳方法是什么。 enter image description here

最佳答案

该错误具有误导性,根据 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/

相关文章:

Javascript Switch 语句多例返回值

C++ 将文本文件读入 vector < vector >,然后根据内部 vector 中的第一个单词写入 vector 或数组

ios - 解析SDK和Swift 1.2 : Can´t subclass PFUser

ios - 如何为不同的分段控制索引更改数据源

arrays - 过滤 SwiftyJson 数据

arrays - 如何将 double 组的数组转换为字符串,Swift

c - Switch case 弄乱了我试图转换的数组

iphone - UIActionSheet 取消按钮不关闭操作表

ios - 如何增加 UILabel 中的字符间距

swift - 使用 AVAudioPlayer 解包 Optional 值时意外发现 nil