加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在swift中使用if语句检查枚举?

发布时间:2020-12-14 02:29:47 所属栏目:百科 来源:网络整理
导读:参见英文答案 Compiler error when comparing values of enum type with associated values?2个 今天我正在编写一个应用程序,需要将一些双打更正为一些重要的数字/数字(sig fig).用户可以设置号码. sig fig转换为.我将这条信息存储在NSUserDefaults中. 我创
参见英文答案 > Compiler error when comparing values of enum type with associated values?2个
今天我正在编写一个应用程序,需要将一些双打更正为一些重要的数字/数字(sig fig).用户可以设置号码. sig fig转换为.我将这条信息存储在NSUserDefaults中.

我创建了一个枚举来表示这些设置,因为我想让我的代码更具可读性,而不仅仅是普通的旧整数.这是枚举:

enum SigFigOptions{
    case No
    case Yes(Int)
}

如果是.No,数字将是准确的.如果是.是的,数字将被更正.并且sig fig的数量存储在相关值中.

然后我在枚举中创建了一个名为correctTo的方法.

func correctTo (i: Double) -> Double {
    if self == .No {

    }
}

当我写这篇文章的时候,我看到有一个语法错误,说这是不明确的.所以我改成了:

if self == SigFigOptions.No

但后来它说= =不能在两个SigFigOptions类型上使用.

我真的不明白!我知道我可以使用开关来做到这一点.但是我认为在有很多情况时应该使用开关.在这种情况下,我认为最好使用if语句来增强可读性.但我无法比较它们!

你能告诉我如何使用if语句比较枚举吗?

哦顺便说一句,如果你知道算法来纠正一个数字到某个sig图.请好好向我展示.

您可以使用模式绑定:如果是大小写.No = self {…}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读