Swift 2 では、通常これを行う多くの型が OptionSetType プロトコルに準拠するように更新されています。これにより、配列のような構文を使用できます。あなたの場合、次を使用できます。
let settings = UIUserNotificationSettings(forTypes: [.Alert, .Badge], categories: nil)
UIApplication.sharedApplication().registerUserNotificationSettings(settings)
また、関連する注意として、オプション セットに特定のオプションが含まれているかどうかを確認する場合、ビットごとの AND と nil チェックを使用する必要がなくなりました。配列に値が含まれているかどうかを確認するのと同じ方法で、特定の値が含まれているかどうかをオプション セットに尋ねることができます。
let settings = UIUserNotificationSettings(forTypes: [.Alert, .Badge], categories: nil)
if settings.types.contains(.Alert) {
// stuff
}
Swift 3では、サンプルは次のように記述する必要があります。
let settings = UIUserNotificationSettings(types: [.alert, .badge], categories: nil)
UIApplication.shared.registerUserNotificationSettings(settings)
と
let settings = UIUserNotificationSettings(types: [.alert, .badge], categories: nil)
if settings.types.contains(.alert) {
// stuff
}