我试图在Xcode 7 (7A120f)中开发一个小小的Mac应用程序,但它不允许我。据称,这个代码片段是错误的:
let composeHotKey = DDHotKey(keyCode: UInt16(kVK_Return), modifierFlags: NSEventModifierFlags.CommandKeyMask | NSEventModifierFlags.ShiftKeyMask, task: {
event in
self.doSomething()
})试图编译我的应用程序会导致Xcode生成失败,并带有以下错误消息,同时突出显示NSEventModifierFlags.CommandKeyMask | NSEventModifierFlags.ShiftKeyMask部件:
不能对两个NSEventModifierFlags操作数应用二进制运算符‘AC.26’
到底怎么回事?根据我在网上发现的一切,我应该能够做到这一点。
发布于 2015-07-05 00:39:59
在Swift 2中,像NSEventModifierFlags这样的位字段样式枚举作为OptionSetType的子类型导入Swift。它们不使用像C(或Swift 1.x)那样的位旋转语法。
相反,这些类型使用反映set逻辑的方法和语法。您可以用一个集合文字创建一个:
let composeHotKey = DDHotKey(keyCode: UInt16(kVK_Return), modifierFlags: .CommandKeyMask.rawValue | .ShiftKeyMask.rawValue, task: {
event in
self.doSomething()
})发布于 2016-03-15 02:55:15
NSEventModifierFlags(rawValue: NSEventModifierFlags.NumericPadKeyMask.rawValue | NSEventModifierFlags.NumericPadKeyMask.rawValue)https://stackoverflow.com/questions/31224099
复制相似问题