C、Objective - C 与 Swift 的交互及特性
1. 内存管理与 C 数组操作
在进行某些操作时,需要自行处理内存管理的细节。当分配了指针的内存并赋值后,应移除值并释放内存。示例代码如下:
let arr = UnsafeMutablePointer<CGPoint>.allocate(capacity:4)
defer {
arr.deinitialize()
arr.deallocate(capacity:4)
}
当接收 C 数组时,同样可以使用方便的下标操作。例如:
if let comp = col.cgColor.__unsafeComponents,
let sp = col.cgColor.colorSpace,
sp.model == .rgb {
let red = comp[0]
let green = comp[1]
let blue = comp[2]
let alpha = comp[3]
// ...
}
2. C 函数
2.1 C 函数声明
C 函数声明以返回类型(可能为 void,表示无返回值)开头,接着是函数名,然后是用括号括起来的参数列表,参数列表由逗号分隔的类型和参数名对组成,参数名仅用于内部。C 函数是全局的,Swift 可以直接调用它们。
例
超级会员免费看
订阅专栏 解锁全文
42

被折叠的 条评论
为什么被折叠?



