首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在SWIFT2.0中不能正确使用NSEventModifierFlags

在SWIFT2.0中不能正确使用NSEventModifierFlags
EN

Stack Overflow用户
提问于 2015-07-04 18:48:37
回答 2查看 1.2K关注 0票数 2

我试图在Xcode 7 (7A120f)中开发一个小小的Mac应用程序,但它不允许我。据称,这个代码片段是错误的:

代码语言:javascript
复制
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’

到底怎么回事?根据我在网上发现的一切,我应该能够做到这一点。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-05 00:39:59

在Swift 2中,像NSEventModifierFlags这样的位字段样式枚举作为OptionSetType的子类型导入Swift。它们不使用像C(或Swift 1.x)那样的位旋转语法。

相反,这些类型使用反映set逻辑的方法和语法。您可以用一个集合文字创建一个:

代码语言:javascript
复制
let composeHotKey = DDHotKey(keyCode: UInt16(kVK_Return), modifierFlags: .CommandKeyMask.rawValue | .ShiftKeyMask.rawValue, task: {
    event in

    self.doSomething()
})
票数 6
EN

Stack Overflow用户

发布于 2016-03-15 02:55:15

代码语言:javascript
复制
NSEventModifierFlags(rawValue: NSEventModifierFlags.NumericPadKeyMask.rawValue | NSEventModifierFlags.NumericPadKeyMask.rawValue)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31224099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档