swift - 与 Int 比较的枚举

标签 swift enums

要比较具有 Int 作为我添加的原始值的枚举:

func  <<T: RawRepresentable>(a: T, b: T) -> Bool where T.RawValue: Comparable {
    return a.rawValue < b.rawValue
}

现在我可以:

enum Foo: Int {
    case a = 1
    case b = 2
}

let a = Foo.a
let b = Foo.b

print(a < b) // true

但是我应该怎么做才能比较枚举,例如:

print(b < 1) // error

最佳答案

你只会做更多你已经在做的事情:

func <<T:RawRepresentable>(a:T, b:Int) -> Bool where T.RawValue == Int {
    return a.rawValue < b
}

关于swift - 与 Int 比较的枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41350616/

相关文章:

ios - 如何在 Xcode 中调试 EXC_BREAKPOINT (SIGTRAP)

c++ - 为什么按位 OR 和 AND 逻辑没有按预期工作?

c# - .NET 中 ","(逗号)和 "."(点)的 KeyCode 是什么?

c# - 将 enumType 值与 int 进行比较

scala - 有没有办法在 Scala 中实现分层枚举?

ios - swift在http请求中发送一个数值,实际值加上000000000000001

ios - 在 iPhone 5s 上的 iOS 8 Swift 上使用 NSUserDefaults 后启动时出现 EXC_BREAKPOINT,而不是模拟器

java - Protocol Buffer 方法定义。传入参数

ios - 在 View Controller 中从 App Delegate 访问变量

ios - 错误应用程序尝试以模态方式呈现事件 Controller Swift