gpt4 book ai didi

swift - 检查通知设置 iOS8

转载 作者:搜寻专家 更新时间:2023-10-31 08:21:29 24 4
gpt4 key购买 nike

我正在尝试检查以确保用户已授权警报和徽章。我在弄清楚如何处理当前设置后遇到了问题。

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,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26198012/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com