Di Swift 2, banyak jenis yang biasanya Anda lakukan untuk ini telah diperbarui agar sesuai dengan protokol OptionSetType. Ini memungkinkan untuk array seperti sintaks untuk penggunaan, dan Dalam kasus Anda, Anda dapat menggunakan yang berikut ini.
let settings = UIUserNotificationSettings(forTypes: [.Alert, .Badge], categories: nil)
UIApplication.sharedApplication().registerUserNotificationSettings(settings)
Dan pada catatan terkait, jika Anda ingin memeriksa apakah set opsi berisi opsi tertentu, Anda tidak perlu lagi menggunakan bitwise AND dan nil check. Anda cukup meminta opsi yang disetel apakah itu berisi nilai tertentu dengan cara yang sama seperti Anda akan memeriksa apakah array berisi nilai.
let settings = UIUserNotificationSettings(forTypes: [.Alert, .Badge], categories: nil)
if settings.types.contains(.Alert) {
// stuff
}
Dalam Swift 3 , sampel harus ditulis sebagai berikut:
let settings = UIUserNotificationSettings(types: [.alert, .badge], categories: nil)
UIApplication.shared.registerUserNotificationSettings(settings)
dan
let settings = UIUserNotificationSettings(types: [.alert, .badge], categories: nil)
if settings.types.contains(.alert) {
// stuff
}