使用Swift的C头中定义的opaque类型访问常量

时间:2017-08-23 19:47:26

标签: c swift

我有一个库二进制文件(lib*.a文件)和相应的标头。我已经尝试了两个Obj-C Bridging Header method and the Module Map method来使我的Swift代码可以使用API​​。

在Swift中,我可以访问几乎标头API中的所有内容。我无法访问的是不透明的结构,以及具有不透明结构的常量作为其类型。例如,这是在标题中,但Swift说该模块没有这个成员:

typedef struct custom_params_struct custom_params;
extern const custom_params PARAM_SET_1;
extern const custom_params PARAM_SET_2;
extern const custom_params PARAM_SET_3;

如果我为opaque结构添加(假)定义并将其添加到我的模块映射中,如下所示:

struct custom_params_struct {
    int field_1;
    int field_2;
};

然后可以使用PARAM_SET_1等内容。

假设我不知道真正的结构定义,我如何从Swift访问这些consts?

0 个答案:

没有答案