何时使用__bridge_transfer和__bridge

  1. 任何人可以解释什么是'__bridge_transfer'和'_ bridge'以及何时使用' _bridge_transfer'和'__bridge'
  2. 我读了类似与ARC的交易,那么这两者的主要function是什么?

谢谢,

这些关键字用于告诉ARC系统如何处理你的非目标指针。 实质上,如果你使用__bridge,你告诉ARC不要处理转换的指针的所有权,因为你将它从非目标代码中解放出来,很可能是用free()或CFRelease …typesfunction。 另一方面,__bridge_transfer将所有权转移给ARC,ARC将在对该对象的引用达到零时,通过标准的释放机制释放您的objective-c(也就是原始的非objective-c)对象。