1

我正在使用 JNA 调用 Carbon API。我要调用的特定 API 调用将 CFBooleanRef 作为参数。值 kCFBooleanTrue 和 kCFBooleanFalse 在头文件中被声明为直接外部引用。

如何在 Java 端获取对这两个值的引用,以便将值传递给 API 调用?

4

1 回答 1

3

好吧,因为这还没有得到任何答案,所以把我想出的解决方案记下来,以防其他人需要这样做:

我最终使用 Rococoa 实现了我自己的 NSNumber 版本,这样我就可以在其中调用 numberWithBool 方法来获取 NSBoolean 的实例。然后可以将其用作CFBoolean。

public interface MyNSNumber extends NSObject {
    public static final _Class CLASS = Rococoa.createClass("NSNumber", _Class.class);

    public interface _Class extends NSClass {
        ID numberWithBool(boolean value);
    }
}
于 2010-01-13T04:56:32.100 回答