在Swift中使用extern“C”?

时间:2014-09-27 23:22:37

标签: objective-c swift extern

我想知道,Swift中有extern "C"的替代方案吗? 我想写一个简单的Unity插件,作为一个Obj-C菜鸟我想在可能的情况下在Swift中做。 现在我有一个非常基本的Obj-C代码来使用

来显示UIAlertView
extern "C" 
{ 
    void _addAlert() 
    //Whatever
} 

在Unity中,它与

联系在一起
private static extern void _addAlert()
{
    //Same whatever
} 

我正在寻找一种使用Swift而不是Obj-C的方法。 这可能吗?

2 个答案:

答案 0 :(得分:1)

可以将Swift与Unity结合使用。我已经完成了。

你必须创建一个"包装类"在Objective-C中,它位于Mono调用的C函数和您创建的Swift代码之间。

这篇文章解释了如何从Objective-C调用Swift:http://ericasadun.com/2014/08/21/swift-calling-swift-functions-from-objective-c/

不要忘记将目标版本设置为iOS 7.0,因为较低的SDK不支持Swift。

答案 1 :(得分:-1)

来自C / Objective-C的Swift cannot be used的顶级函数。很明显,你无法从C / Objective-C链接到它。