स्विफ्ट 2 में, आप आमतौर पर ऐसा करने के लिए कई प्रकार के लिए अद्यतन किया जाता है जो OptionSetType प्रोटोकॉल के अनुरूप होता है। यह उपयोग के लिए वाक्यविन्यास जैसे सरणी के लिए अनुमति देता है, और आपके मामले में, आप निम्न का उपयोग कर सकते हैं।
let settings = UIUserNotificationSettings(forTypes: [.Alert, .Badge], categories: nil)
UIApplication.sharedApplication().registerUserNotificationSettings(settings)
और संबंधित नोट पर, यदि आप यह जांचना चाहते हैं कि क्या एक विकल्प सेट में एक विशिष्ट विकल्प है, तो आपको अब बिटवाइज़ और नील चेक का उपयोग करने की आवश्यकता नहीं है। यदि आप किसी विशिष्ट मान को उसी तरह से निर्धारित करते हैं, तो आप उस विकल्प को सेट कर सकते हैं, जिसमें आप यह जांचेंगे कि क्या कोई सरणी में कोई मान है या नहीं।
let settings = UIUserNotificationSettings(forTypes: [.Alert, .Badge], categories: nil)
if settings.types.contains(.Alert) {
// stuff
}
में स्विफ्ट 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
}