有关如何使用Swift 2 @convention(c)类型注释的一些具体示例是什么?

时间:2015-07-23 22:29:00

标签: swift swift2

我似乎无法让Xcode 7(测试版)接受我使用Swift 2 @convention(c)类型注释?有人可以提供@convention(c)的一些特定语法正确用法示例吗?

2 个答案:

答案 0 :(得分:2)

您不需要@convention(c),除非您正在编写一个混合应用程序,其中Objective-C需要调用您的Swift代码。

这是两个Swift方法声明:

func blockTaker(f:()->()) {}
func functionTaker(f:@convention(c)() -> ()) {}

Objective-C认为第一个采用Objective-C块,第二个采用C指针指向函数。

这是@convention(c)绘制的区别。

答案 1 :(得分:1)

let cFunction : @convention(c) (Int, Int) -> Int = { $0 + $1 }