在Swift中使用Objective-C typedef void
我正在一个新的Swift环境中使用Objective-CAPI。大多数情况下,一切都很好,但我在typedef问题上遇到了麻烦 API的typedef定义为:在Swift中使用Objective-C typedef void,objective-c,swift,typedef,type-alias,Objective C,Swift,Typedef,Type Alias,我正在一个新的Swift环境中使用Objective-CAPI。大多数情况下,一切都很好,但我在typedef问题上遇到了麻烦 API的typedef定义为: typedef void* TESTHANDLE; 通常在Objective-C中,我会简单地像声明任何类型的变量一样使用它: TESTHANDLE NewTestHandle; 下图是一个Objective-C项目的示例,该项目使用了此方法 我想用Swift声明一个新的TESTHANDLE变量,与上面的方法相同。我需要在代码后面为
typedef void* TESTHANDLE;
通常在Objective-C中,我会简单地像声明任何类型的变量一样使用它:
TESTHANDLE NewTestHandle;
下图是一个Objective-C项目的示例,该项目使用了此方法
我想用Swift声明一个新的TESTHANDLE变量,与上面的方法相同。我需要在代码后面为TestHandle分配一个值,它是TestHandle类型
通过阅读以上内容,我发现typealias现在是一个不错的选择,但我无法更改API
如何在Swift中使用Objective-C中的typedef?您只需在项目中添加桥接标题即可 以以下目标C类为例:
但是请记住,在Swift中,所有此类类型都将被视为
UnsafeRawPointer
或unsafemtablerawpointer
。我添加了更多信息。我不确定要用什么确切的术语来表达我的观点。谢谢Matt,我会根据这个信息挖掘更多信息。我发现了一些关于桥接编写TESTHANDLE的信息TESTHANDLE
就像在Swift中编写Int I
。这不是有效的语法。Swift语法是let-testHandle:testHandle=…
。谢谢Ayan,这是第一个难题!我现在有另一篇文章,我将在这里发布一个链接,以防万一你也能在那里帮助我!如果你有时间,我的新问题是什么