ios - swift中文 - swift windows



Swift 2.0-二进制运算符“ |”不能应用于两个UIUserNotificationType操作数 (3)

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

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
}

https://ffff65535.com

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

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

在Xcode 7和Swift 2.0中-我收到错误的 Binary Operator "|" cannot be applied to two UIUserNotificationType operands Binary Operator "|" cannot be applied to two UIUserNotificationType operands 。 请帮我。


在Swift 3中已更新。

        let settings = UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
        UIApplication.shared.registerUserNotificationSettings(settings)

您可以编写以下内容:

let settings = UIUserNotificationType.Alert.union(UIUserNotificationType.Badge)




swift2