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的?您不能将元组作为枚举的原始类型,请参阅。