美文网首页
ARC下OC对象与CF对象的桥接(__bridge)

ARC下OC对象与CF对象的桥接(__bridge)

作者: Joseph_Zheng | 来源:发表于2015-10-21 18:03 被阅读107次

__bridge只做OC和CF对象之间的类型转换不涉及对象所有权的转化;

__bridge_transfer:用在将CF对象转换成OC对象时,并且将CF对象的所有权交给OC对象,此时ARC就能自动管理该内存了。作用同"CFBridgeTransfer()"

__bridge_retained:用在将OC对象转换成CF对象,并且将OC对象的所有权交给CF对象来管理,作用同"CFBridgingRetain() "。此时我们要在使用完CF对象后用CFRelease将其手动释放。

NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];

CFURLRef  urlRef = (__bridge_retained CFURLRef)url;

CFRelease(urlRef);

相关文章

网友评论

      本文标题:ARC下OC对象与CF对象的桥接(__bridge)

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