Ho problemi di eseguire operazioni bit per bit con CGImageAlphaInfo
e CGBitmapInfo
a Swift.operazioni bit per bit con CGBitmapInfo e CGImageAlphaInfo
In particolare, io non so come portare questo codice Objective-C:
bitmapInfo &= ~kCGBitmapAlphaInfoMask;
bitmapInfo |= kCGImageAlphaNoneSkipFirst;
la seguente porta Swift semplice produce l'errore del compilatore un po 'criptico 'CGBitmapInfo' is not identical to 'Bool'
sull'ultima riga:
bitmapInfo &= ~CGBitmapInfo.AlphaInfoMask
bitmapInfo |= CGImageAlphaInfo.NoneSkipFirst
Guardando il codice sorgente ho notato che CGBitmapInfo
è dichiarata come RawOptionSetType
mentre CGImageAlphaInfo
non è. Forse questo ha qualcosa a che fare con questo?
Non aiuta che la documentazione ufficiale su operatori bit per bit non copre le enumerazioni.
non funziona più con Xcode 6.1 – wbarksdale
Grazie @wbarksdale, aggiornati con la nuova sintassi. –
Questo è cambiato di nuovo in swift 2.0 che ora usa OptionSetTypeProtocol. Utilizza ora 'var bitmapInfo: CGBitmapInfo = CGBitmapInfo (rawValue: ~ CGBitmapInfo.AlphaInfoMask.rawValue | CGImageAlphaInfo.NoneSkipFirst.rawValue)' – JackPearse