怎么在C语言中调用Swift函数
怎么在C语言中调用Swift函数?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
我们提供的服务有:成都网站设计、成都网站建设、外贸网站建设、微信公众号开发、网站优化、网站认证、汾阳ssl等。为上千多家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的汾阳网站制作公司
extern void (^ __nonnull SwiftFunc)(void); extern void CFuncTest(void);
这里声明的全局指向void(^)(void)类型的Block的引用对象。
然后我们再看test.c源文件:
void (^SwiftFunc)(void) = NULL; void CFuncTest(void) { SwiftFunc(); }
我们定义SwiftFunc全局对象,将它初始化为空。
然后在ViewController.swift中编辑以下内容:
// 这里是对SwiftFunc的实现 private func swiftFuncImpl() { print("This is a Swift function!"); } class ViewController: NSViewController { override func viewDidLoad() { super.viewDidLoad() // 这里对定义在test.c中的SwiftFunc进行初始化 SwiftFunc = swiftFuncImpl // 这里用dispatch_async来测试SwiftFunc是否一直被hold着 dispatch_async(dispatch_get_main_queue()) { CFuncTest() } } }
当调用了test.c中定义的CFuncTest函数之后,该函数里将直接调用SwiftFunc这一Block引用对象,从而达到了在C语言中调用了Swift中函数的目的。
看完上述内容,你们掌握怎么在C语言中调用Swift函数的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!
当前题目:怎么在C语言中调用Swift函数
标题来源:http://ybzwz.com/article/piisos.html