1
Bit déplacé OptionSet ...Décalage de bits OptionSet est multiple de 7? Swift 3
struct VerifiedOptions : OptionSet {
let rawValue: Int
static let facebook = VerifiedOptions(rawValue: 1 << 0)
static let email = VerifiedOptions(rawValue: 1 << 1)
static let phoneNumber = VerifiedOptions(rawValue: 1 << 2)
static let count:Int = 3
}
utilisé comme si ...
let options:VerifiedOptions = [.facebook,.email,.phoneNumber]
for i in 0..<VerifiedOptions.count {
let option = VerifiedOptions(rawValue: options.rawValue << i)
print("O:",option.rawValue,"T:",options.rawValue)
if options.contains(option) { print("match") }
}
Prints Décident
O:7 T:7
match
O:14 T:7
O:28 T:7
Deux questions ...
- Pourquoi le décalage de bits est-il un multiple de 7 et non un multiple de 1?
- Pourquoi
options
ne montre-t-il pas les 3 options à l'intérieur?
Merci pour votre temps.
Vous devriez utiliser 'for i in options.indicies {...' – Alexander
Intéressant, je vais examiner cela. Merci – Magoo