<分区>
- 谁能解释一下什么是“__bridge_transfer”和“_bridge”以及何时使用“_bridge_transfer”和“__bridge”
- 我读过一些关于 ARC 的文章,那么这两者的主要功能是什么
谢谢,
标签 iphone ios objective-c ipad
<分区>
谢谢,
最佳答案
这些关键字用于告诉 ARC 系统如何处理您的非 objective-c 指针。本质上,如果你使用 __bridge,你是在告诉 ARC 不要处理转换后指针的所有权,因为你将从非 objective-c 代码中释放它,很可能是使用 free() 或 CFRelease... 类型功能。另一方面,__bridge_transfer 将所有权转移给 ARC,当对该对象的引用为零时,ARC 将通过标准释放机制释放您的 objective-c(以及原始的非 objective-c)对象。
关于iphone - 何时使用 __bridge_transfer 和 __bridge,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17544765/