使用未解决的标识符:KCGWINDOWIMAGGEDEFAULT(和其他核心图形常数)



我是Swift开发的新手。我正在Swift中为MacOS(而非iOS(编写一个应用程序,并试图调整此Apple Sample Objective-C项目中的某些代码以供我的程序使用。

我遇到的问题是某些Apple定义的常数(例如kCGWindowImageDefaultkCGWindowListOptionAll(导致Xcode报告编译时错误"使用未解决的标识符[标识符]。

有些令人惊讶的是,如果我右键单击kCGWidowImageDefault并选择"跳转到定义",则Xcode di di 跳到该常数的定义(在CoreGraphics> cgwindow.h> cgwindowimageoption中( - 因此Xcode似乎确实知道那个常数是什么。

这是我的ViewController.swift文件的相关片段:

import Cocoa
import CoreGraphics
class ViewController: NSViewController {
...
    func myFunction() {
        // *** XCode reports the error on kCGWindowImageDefault on this line:
        let imageOptions : CGWindowImageOption = kCGWindowImageDefault 
        ...
    }
}

Apple文档(如上所述(并不表示要使用这些常数需要什么import

xcode die 似乎成功地识别了我正在使用的类型,例如 CGWindowImageOption-只是它没有识别的常数。

为了成功地使用kCGWindowImageDefault和类似的常数,我需要做什么?

kCGWindowImageDefault仅适用于Objective-C,而不是Swift。在Swift中,CGWindowImageOptionOptionSet。对于默认值,您只需使用一个空选项集:

let imageOptions : CGWindowImageOption = []

对于CGWindowListOption,您可以做:

let listOptions: CGWindowListOption = .optionAll

确保您查看这些枚举的Swift参考文档。您不能使用Objective-C值。

相关内容

最新更新