iphone - 何时使用 __bridge_transfer 和 __bridge

标签 iphone ios objective-c ipad

<分区>

  1. 谁能解释一下什么是“__bridge_transfer”和“_bridge”以及何时使用“_bridge_transfer”和“__bridge”
  2. 我读过一些关于 ARC 的文章,那么这两者的主要功能是什么

谢谢,

最佳答案

这些关键字用于告诉 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/

相关文章:

ios - 检索多个解析图像(Swift)

ios - 事件指示器未出现

iphone - NSMutableArray 在 reloadData 后变为 nil

ios - 为 UILabel 增加触摸手势区域

iphone - 如何在我的 &lt;input&gt; 上禁用 iPhone 的自动填充栏?

ios - MBCircularProgressBarView 在 UITableViewCell 中没有动画

ios - UITextField 在执行字符限制的同时附加/在日期之间

objective-c - 找不到 Cocoa/Cocoa.h(错误)

objective-c - 如何在objective-c中加入两个flv文件

iphone - 车速表中的箭头旋转