@objc enum ObjCOptions: NSInteger {
case option1 = 1
case option2 = 2
case option3 = 4
case option4 = 8
}
struct SwiftOptions: OptionSet {
let rawValue: Int
static let option1 = SwiftOptions(rawValue: ObjCOptions.option1.rawValue)
static let option2 = SwiftOptions(rawValue: ObjCOptions.option2.rawValue)
static let option3 = SwiftOptions(rawValue: ObjCOptions.option3.rawValue)
static let option4 = SwiftOptions(rawValue: ObjCOptions.option4.rawValue)
}
let options: SwiftOptions = [.option1, .option3]
if options.contains(.option1) {
// Do something
}
这样就可以在Swift代码中使用在Obj-C中定义的NS_OPTIONS枚举类型了。