在swift中,很多cocoa和框架常量都被放入了命名空间。例如,NSCompositeSourceOver
现在是NSCompositingOperation.CompositeSourceOver
。
这通常是一件好事。然而,有时很难解决Apple放置某些常数的问题。例如,我目前需要kCGDesktopWindowLevel
,我找不到该死的东西。 (有kCGDesktopWindowLevelKey
,但这不是一回事。)
是否有这方面的参考,或者我可以grep的一些文件?
答案 0 :(得分:2)
在原始CGWindowLevel.h
中,kCGDesktopWindowLevel
是定义为CGWindowLevelForKey(kCGDesktopWindowLevelKey)
的宏。宏未导入,但只要添加一些类型转换,后者在Swift中工作正常:Int(CGWindowLevelForKey(CGWindowLevelKey(kCGDesktopWindowLevelKey)))
。 (您可能希望file a bug,因为这些类型转换是必需的。)您可以通过点击CGWindowLevelForKey
功能或使用:print_module CoreGraphics
swift -integrated-repl
来查看其中的一些内容。 }。