gpt4 book ai didi

ios - Swift 2.0 - 二元运算符 "|"无法应用于两个 UIUserNotificationType 操作数

转载 作者:行者123 更新时间:2023-11-30 14:14:21 25 4
gpt4 key购买 nike

我正在尝试通过这种方式注册我的应用程序以获取本地通知:

UIApplication.sharedApplication().registerUserNotificationSettings(UIUserNotificationSettings(forTypes: UIUserNotificationType.Alert | UIUserNotificationType.Badge, categories: nil))

在 Xcode 7 和 Swift 2.0 中 - 我收到错误二元运算符“|”不能应用于两个 UIUserNotificationType 操作数。请帮助我。

最佳答案

在 Swift 2 中,您通常会执行此操作的许多类型已更新为符合 OptionSetType 协议(protocol)。这允许使用类似数组的语法,并且在您的情况下,您可以使用以下内容。

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
}

关于ios - Swift 2.0 - 二元运算符 "|"无法应用于两个 UIUserNotificationType 操作数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31372694/

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