其中标识符如NSControlKeyMask
,NSAlternateKeyMask
和NSShiftKeyMask
定义在哪里?我需要使用命名DDHotKey的Objective-C库,包含下面的代码编译斯威夫特项目:哪里是标识符,如NSControlKeyMask定义
if (modifiers & NSControlKeyMask) {
[final appendString:[characterMap objectForKey:@(kVK_Control)]];
}
if (modifiers & NSAlternateKeyMask) {
[final appendString:[characterMap objectForKey:@(kVK_Option)]];
}
if (modifiers & NSShiftKeyMask) {
[final appendString:[characterMap objectForKey:@(kVK_Shift)]];
}
此代码给我下面的错误:
Use of undeclared identifier 'NSControlKeyMask'
Use of undeclared identifier 'NSAlternateKeyMask'
Use of undeclared identifier 'NSShiftKeyMask'
为什么?我究竟做错了什么?我该如何解决它?
在此先感谢。
https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSEvent_Class/#//apple_ref/doc/constant_group/Modifier_Flags – 2015-04-01 14:28:53
@Martin R And?我没有看到任何线索应该链接到哪个框架。将Appkit.framework添加到“Link Binary With Libraries”选项并未解决此问题 – FrozenHeart 2015-04-01 14:36:48
doc显示它们是结构的静态成员“NSEventModifierFlags”。所以你通过NSEventModifierFlags.ControlKeyMask等来访问它们。 – 2015-04-01 14:42:11