Ho una variabile SCNetworkReachabilityFlags
e voglio verificarla per valori particolari, ad es. se la rete è raggiungibile tramite WWAN.Come controllare i bitfield (SCNetworkReachabilityFlags in particolare) per i flag in Swift?
Il tipo SCNetworkReachabilityFlags
è un typealias
per UInt32
e le varie opzioni sono definiti come Int
variabili.
Utilizzando Objective-C si potrebbe procedere come segue:
if (flags & kSCNetworkReachabilityFlagsIsWWAN) {
// do stuff
}
In Swift se provo questo:
if reachabilityFlags & kSCNetworkReachabilityFlagsIsWWAN {
// do stuff
}
si ottiene un errore di compilazione: Could not find an overload for '&' that accepts the supplied arguments
.
Ho letto alcune altre domande in cui le opzioni bitfield erano definite come una struct RawOptionSet
. Questo non è stato fatto in SCNetworkReachability
.
Come verificare le bandiere in Swift?