我似乎不能让Xcode 7(测试版)接受我使用Swift 2 @convention(c)类型注解?有人能提供一些具体的语法正确的@convention(c)用法示例吗?
@convention(c)
fzwojiic1#
你不需要@convention(c),除非你正在编写一个混合应用程序,其中Objective-C需要调用你的Swift代码。下面是两个Swift方法声明:
func blockTaker(f:()->()) {} func functionTaker(f:@convention(c)() -> ()) {}
Objective-C把第一个看作是一个Objective-C块,第二个看作是一个指向函数的C指针。这就是@convention(c)的区别。
dohp0rv52#
let cFunction : @convention(c) (Int, Int) -> Int = { $0 + $1 }
2条答案
按热度按时间fzwojiic1#
你不需要
@convention(c)
,除非你正在编写一个混合应用程序,其中Objective-C需要调用你的Swift代码。下面是两个Swift方法声明:
Objective-C把第一个看作是一个Objective-C块,第二个看作是一个指向函数的C指针。
这就是
@convention(c)
的区别。dohp0rv52#