Swift Language
OptionSet
サーチ…
OptionSetプロトコル
OptionSetTypeは、個々のビットがセットのメンバーを表すビットマスクタイプを表すように設計されたプロトコルです。 1組の論理および/または関数が適切な構文を強制する:
struct Features : OptionSet {
let rawValue : Int
static let none = Features(rawValue: 0)
static let feature0 = Features(rawValue: 1 << 0)
static let feature1 = Features(rawValue: 1 << 1)
static let feature2 = Features(rawValue: 1 << 2)
static let feature3 = Features(rawValue: 1 << 3)
static let feature4 = Features(rawValue: 1 << 4)
static let feature5 = Features(rawValue: 1 << 5)
static let all: Features = [feature0, feature1, feature2, feature3, feature4, feature5]
}
Features.feature1.rawValue //2
Features.all.rawValue //63
var options: Features = [.feature1, .feature2, .feature3]
options.contains(.feature1) //true
options.contains(.feature4) //false
options.insert(.feature4)
options.contains(.feature4) //true
var otherOptions : Features = [.feature1, .feature5]
options.contains(.feature5) //false
options.formUnion(otherOptions)
options.contains(.feature5) //true
options.remove(.feature5)
options.contains(.feature5) //false
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow