你怎么知道在swift中放入了什么命名空间常量?

时间:2014-08-18 01:21:14

标签: cocoa swift

在swift中,很多cocoa和框架常量都被放入了命名空间。例如,NSCompositeSourceOver现在是NSCompositingOperation.CompositeSourceOver

这通常是一件好事。然而,有时很难解决Apple放置某些常数的问题。例如,我目前需要kCGDesktopWindowLevel,我找不到该死的东西。 (有kCGDesktopWindowLevelKey,但这不是一回事。)

是否有这方面的参考,或者我可以grep的一些文件?

1 个答案:

答案 0 :(得分:2)

在原始CGWindowLevel.h中,kCGDesktopWindowLevel是定义为CGWindowLevelForKey(kCGDesktopWindowLevelKey)的宏。宏未导入,但只要添加一些类型转换,后者在Swift中工作正常:Int(CGWindowLevelForKey(CGWindowLevelKey(kCGDesktopWindowLevelKey)))。 (您可能希望file a bug,因为这些类型转换是必需的。)您可以通过点击CGWindowLevelForKey功能或使用:print_module CoreGraphics swift -integrated-repl来查看其中的一些内容。 }。