美文网首页
Toll-Free Bridge

Toll-Free Bridge

作者: 有一种再见叫青春 | 来源:发表于2016-11-03 10:18 被阅读46次

Core Foundation 和Foundation框架的转换桥

一下函数可用于OC对象与CoreFoundation对象之间的变换,即 Toll-Free Bridge

<pre>`CFTypeRef CFBridgeRetain (id X)
{
return (__bridge_retained CFTreeRef)X;
}

id CFCFBridgeRelease (CFTypeRef X) {
return (__bridge_transfer id)X;
}

`</pre>

一下生成并持有的NSMutableArray对象座位Core Foundation对象来处理
<pre>`
CFMutableArrayRef cfObject = NULL;
{
//变量obj持有对象生成并持有对象的强引用
id obj = [NSMutableArrayRef alloc]init;
//通过CFBridgeRetain将对象CFretain赋值给变量cfObject

cfObject = CFBridgeRetain(obj);

//通过变量obj的强引用和通过CFBridgeRetain 引用计数为2
CFShow (cfObject);
}
//因为变量obj超出作用域,强引用失效,对象得到释放,无持有者的对象被废弃

//此后对象访问出错 (悬垂指针)
CFRelease(cfObject);
`</pre>

相关文章

网友评论

      本文标题:Toll-Free Bridge

      本文链接:https://www.haomeiwen.com/subject/pdpbuttx.html