let settings = UIApplication.sharedApplication().currentUserNotificationSettings()println(settings)// Prints - <UIUserNotificationSettings: 0x7fd0a268bca0; types: (UIUserNotificationTypeAlert UIUserNotificationTypeBadge UIUserNotificationTypeSound);>if settings.types == UIUserNotificationType.Alert // nopE - this is the line that needs an update{ println("Yes,they have authorized Alert")}else{ println("No,they have not authorized Alert. Explain to them how to set it.")}解决方法 您正在使用==进行检查,如果所有设置选项都包含在您要比较的值中,则只会返回true.请记住,这是一个位图枚举,您可以使用按位或|向相同的值添加其他选项.您可以使用按位&来检查特定选项是否是值的一部分.
if settings.types & UIUserNotificationType.Alert != nil { // .Alert is one of the valID options}
在Swift 2.0中,您需要使用新的表示法.您的设置集合是[UIUserNotificationType]类型的数组,因此您可以像这样检查:
if settings.types.contains(.Alert) { // .Alert is one of the valID options}总结
以上是内存溢出为你收集整理的swift – 检查通知设置iOS8全部内容,希望文章能够帮你解决swift – 检查通知设置iOS8所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)