【问题标题】:Enum of booleans pairs布尔值对的枚举
【发布时间】:2016-02-02 20:59:37
【问题描述】:

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

enum Test : (Bool, Bool) {
    case Both = (true, true)
    case None = (false, false)
}

我收到了这个错误:

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

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

  • 类型名称的预期标识符

  • 枚举中的预期'('

感谢您的帮助:)

【问题讨论】:

标签: swift


【解决方案1】:

我认为OptionSetType 会更好:

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
}

【讨论】:

    猜你喜欢
    • 2011-05-19
    • 2011-05-10
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-05
    • 1970-01-01
    相关资源
    最近更新 更多