我正在尝试通过以下方式注册我的本地通知应用程序:
UIApplication.sharedApplication().registerUserNotificationSettings(UIUserNotificationSettings(forTypes: UIUserNotificationType.Alert | UIUserNotificationType.Badge, categories: nil))
在Xcode 7和Swift 2.0中,I get error二进制运算符“|”不能应用于两个UIUserNotificationType操作数。请帮帮我。
对我有用的是
//This worked
var settings = UIUserNotificationSettings(forTypes: UIUserNotificationType([.Alert, .Badge, .Sound]), categories: nil)
您可以编写以下内容:
let settings = UIUserNotificationType.Alert.union(UIUserNotificationType.Badge)
在Swift 2中,许多您通常会这样做的类型已经更新,以符合OptionSetType协议。这允许使用类似于数组的语法,在您的情况下,可以使用以下语法。
let settings = UIUserNotificationSettings(forTypes: [.Alert, .Badge], categories: nil)
UIApplication.sharedApplication().registerUserNotificationSettings(settings)
与此相关的是,如果您想检查选项集是否包含特定选项,您不再需要使用按位与和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
}
我正在尝试通过以下方式注册我的本地通知应用程序: 在Xcode 7和Swift 2.0中,I get error
问题内容: 在尝试在Swift 3中执行此代码块时,我遇到了错误:二进制运算符’/’无法应用于两个’Double’操作数 但这有效 为什么第一段代码不起作用? 问题答案: 该错误有点误导。 在第一组代码中,被隐式声明为的数组。因此,任何将值分配给索引的尝试都将需要一个值。 问题在于结果是值,而不是。因此,编译器正在寻找返回的版本。该版本需要两个参数。由于您提供两个参数,因此您会遇到问题中提到的错误
在Swift 2.0中获取此错误。 二进制运算符“|”不能应用于两个UIViewAutoresizing操作数 代码如下:
尝试比较两个闭包时出错: 二进制运算符“==”不能应用于两个()- 我应该怎么做? 例如:
我在练习一些代码,遇到了一些问题。 这是密码 所有的代码都很好,打印得很好,但是最后一行带来了一个问题。 我以为是macFood。水果是数组。 因为macFood。水果=[水果(名称:“苹果”,容量:1),水果(名称:“香蕉”,容量:2)]工作。 所以我想我可以使用'='运算符添加另一个元素。 但它在最后一行崩溃了,macFood。水果=[水果(名称:“葡萄”,容量:3)] 错误消息为 “二进制运
我将以这种方式比较两本词典: 但我有个错误 二进制运算符“==”不能应用于两个“[任意哈希表:任意]!”操作数 如何解决这个问题?请帮帮我谢谢