我有一个库二进制文件(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?