我在 Swift 中使用 Facebook Objective-C SDK,我正在尝试将 FBSessionState 值与枚举中的值进行比较。但是我得到编译器错误:
Could not find an overload for '==' that accepts the supplied arguments
我主要是想完成:
if state == FBSessionStateOpen { ... }
我可以通过与值进行比较来解决这个问题...
if state.value == FBSessionStateOpen.value { ... }
但我想知道是否有办法让这项工作更像 Swift 枚举?
最佳答案
您可以使用“.value”解包枚举和常量以获得基础整数,它应该是可切换的:
switch x.value {
case Foo.value:
}
也许这是一个错误,苹果会在未来的版本中修复它。
关于enums - Swift 中 Objective-C typedef 枚举的相等性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24134649/