有关Swift中正确语法的任何帮助,可以从C文件中访问“typedef void PaStream;”吗?

问题描述 投票:2回答:1

我编译并导入了一个名为portaudio(PortAudio website)的dylib C库到一个Xcode 6.1 Swift项目中,所有的函数/类型都是可访问的,除了一个是

typedef void PaStream;

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

PaStream *audioStream = NULL;

任何人都可以帮助Swift等价物,因为我得到一个警告说未声明的类型/未解析的标识符,它看起来像Swift无法桥接一个typedef void xyz; ?

非常感谢任何帮助。

c++ c swift portaudio
1个回答
2
投票

C typedef

typedef void PaStream;

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

因此你可以添加

typedef PaStream *PaStreamPtr;

到桥接头文件,然后使用它

var audioStream : PaStreamPtr = nil
© www.soinside.com 2019 - 2024. All rights reserved.