4
  1. 谁能解释一下什么是'__bridge_transfer'和'_bridge'以及何时使用' _bridge_transfer'和'__bridge'
  2. 我读过它与 ARC 的交易之类的东西,那么这两者的主要功能是什么

谢谢,

4

1 回答 1

9

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

于 2013-07-09T14:16:04.943 回答