如何在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 {…}
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |