我的枚举有点问题。我试着宣布:
enum Test : (Bool, Bool) {
case Both = (true, true)
case None = (false, false)
}
我收到了这个错误:
语句不能以闭包表达式
支持的语句块是未使用的闭包
类型名称的预期标识符
预期'('枚举
感谢您的帮助:)
答案 0 :(得分:0)
我认为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
}