码迷,mamicode.com
首页 > 移动开发 > 详细

iOS Swift的一些小知识(不断补充)

时间:2016-08-22 19:47:50      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:

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
} )

 

iOS Swift的一些小知识(不断补充)

标签:

原文地址:http://www.cnblogs.com/breezemist/p/5796518.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!