iOS Swift的一些小知识(不断补充)
1 . 在swift文件里是不能写c语言函数的,不兼容c,直接报错。想调用c语言函数,就要利用系统提供的桥接功能,就如同swfit中调用oc一样! 2 .swift 2.0后提供了@convention(c) 用来把 swift的闭包函数转化成c语言指针。下面这种情况就会用到这个特性, 我们在c语言文件里,定义了一个函数: CGFloat myCFunction(CGFloat (callback)(CGFloat x, CGFloat y)) { return callback(1.1, 2.2); } 这里的callback函数是一个c语言函数指针,我们在swift里可以这样使用: let swiftCallback : @convention(c) (CGFloat, CGFloat) -> CGFloat = { (x, y) -> CGFloat in return x + y } let result = myCFunction( swiftCallback ) 也有如下的简化的方法: let result = myCFunction( { (x, y) -> CGFloat in return x + y } ) 3. 如何在老的oc项目中,引入swift代码内容 http://jrjian.github.io/2016/03/10/embed-swift-to-oc