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

发布时间:2019-10-14 发布网站:大佬教程
大佬教程收集整理的这篇文章主要介绍了如何在swift中使用if语句检查枚举?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > 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 {…}

大佬总结

以上是大佬教程为你收集整理的如何在swift中使用if语句检查枚举?全部内容,希望文章能够帮你解决如何在swift中使用if语句检查枚举?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ群:277859234,请注明来意。