何时使用__bridge_transfer和__bridge

时间:2013-07-09 09:30:22

标签: iphone ios objective-c ipad

  1. 任何人都可以解释一下'__bridge_transfer'和'_ bridge'&何时使用' _bridge_transfer'和'__bridge'
  2. 我读过类似ARC的交易,那么这两者的主要功能是什么
  3. 谢谢,

1 个答案:

答案 0 :(得分:9)

这些关键字用于告诉ARC系统如何处理非Objective-c指针。本质上,如果你使用__bridge,你告诉ARC不要处理转换指针的所有权,因为你将它从非Objective-c代码中释放出来,很可能是free()或CFRelease ...类型功能。另一方面,__ bridge_transfer将所有权转移到ARC,当对该对象的引用达到零时,ARC将通过标准释放机制释放您的objective-c(以及原始的非objective-c)对象。