Swift 布尔对枚举

Swift 布尔对枚举,swift,Swift,我的枚举有点问题。我试图声明: enum Test : (Bool, Bool) { case Both = (true, true) case None = (false, false) } 我得到了这个错误: 语句不能以闭包表达式开头 大括号语句块是未使用的闭包 类型名称的预期标识符 枚举中应为“(” 谢谢您的帮助:)我想您使用选项设置会更好: struct MyOptions : OptionSetType { let rawValue: Int i

我的枚举有点问题。我试图声明:

enum Test : (Bool, Bool) {
    case Both = (true, true)
    case None = (false, false)
}
我得到了这个错误:

  • 语句不能以闭包表达式开头

  • 大括号语句块是未使用的闭包

  • 类型名称的预期标识符

  • 枚举中应为“(”


谢谢您的帮助:)

我想您使用
选项设置会更好:

struct MyOptions : OptionSetType {
    let rawValue: Int

    init(rawValue: Int) { self.rawValue = rawValue }
    static let FirstOption = MyOptions(rawValue: 1)
    static let SecondOption = MyOptions(rawValue: 2)
    static let ThirdOption = MyOptions(rawValue: 4)
}

let opt1: MyOptions = []
let opt2: MyOptions = [.FirstOption, .ThirdOption]
opt1
已关闭所有标志
opt2
打开了第一个和第三个标志。您可以通过以下方式测试标志是否打开:

if opt2.contains(.FirstOption) {
    // true
}

“它错了”-解释它是如何错的-它是否会产生错误,它是否不会产生您期望的结果,等等。这个问题是关于Objective-C还是Swift的?您不能将元组作为枚举的原始类型,请参阅。