在swift中,许多cocoa和framework常量被放入了名称空间。例如,NSCompositeSourceOver
现在是NSCompositingOperation.CompositeSourceOver
。
这通常是件好事。然而,有时很难计算出苹果公司在哪里设置了某些常数。例如,我现在需要kCGDesktopWindowLevel
,我找不到那该死的东西。(有kCGDesktopWindowLevelKey
,但这不是同一件事。)
这有参考资料吗,或者是一些我可以整理的文件?
最佳答案
在原始CGWindowLevel.h
中,kCGDesktopWindowLevel
是定义为CGWindowLevelForKey(kCGDesktopWindowLevelKey)
的宏。宏未导入,但只要添加一些类型转换,后者在Swift中就可以正常工作:Int(CGWindowLevelForKey(CGWindowLevelKey(kCGDesktopWindowLevelKey)))
。(您可能希望file a bug,因为这些类型转换是必需的。)您可以通过点击CGWindowLevelForKey
函数或使用:print_module CoreGraphics
fromswift -integrated-repl
来查看其中的一些内容。