En Swift 2, muchos tipos para los que normalmente haría esto se han actualizado para cumplir con el protocolo OptionSetType. Esto permite una sintaxis de tipo matriz para su uso, y en su caso, puede usar lo siguiente.
let settings = UIUserNotificationSettings(forTypes: [.Alert, .Badge], categories: nil)
UIApplication.sharedApplication().registerUserNotificationSettings(settings)
Y en una nota relacionada, si desea verificar si un conjunto de opciones contiene una opción específica, ya no necesita usar AND bit a bit y una verificación nula. Simplemente puede preguntarle al conjunto de opciones si contiene un valor específico de la misma manera en que verificaría si una matriz contiene un valor.
let settings = UIUserNotificationSettings(forTypes: [.Alert, .Badge], categories: nil)
if settings.types.contains(.Alert) {
// stuff
}
En Swift 3 , las muestras deben escribirse de la siguiente manera:
let settings = UIUserNotificationSettings(types: [.alert, .badge], categories: nil)
UIApplication.shared.registerUserNotificationSettings(settings)
y
let settings = UIUserNotificationSettings(types: [.alert, .badge], categories: nil)
if settings.types.contains(.alert) {
// stuff
}