有关 Swift 中访问“typedef void PaStream;”的正确语法的任何帮助来自 C 文件?

2024-02-21

我编译并导入了一个名为 portaudio 的 dylib C 库(港音网站 http://portaudio.com)到 Xcode 6.1 Swift 项目中,所有函数/类型都可以访问,除了一个

typedef 无效 PaStream;

我无法理解如何在 Swift 中使用它,在 C 中我声明如下:

PaStream *audioStream = NULL;

当我收到一条警告说未声明的类型/未解析的标识符时,任何人都可以帮助解决 Swift 等效项吗,看起来 Swift 无法桥接 typedef void xyz; ?

非常感谢您的帮助。


C 类型定义

typedef void PaStream;

确实没有导入到 Swift,因为你无法定义类型的变量void。 即使在 C 中,你也只能定义pointer类型变量PaStream *.

因此你可以添加

typedef PaStream *PaStreamPtr;

到桥接头文件,然后将其用作

var audioStream : PaStreamPtr = nil
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有关 Swift 中访问“typedef void PaStream;”的正确语法的任何帮助来自 C 文件? 的相关文章

随机推荐