ios - 对象的潜在泄漏-调用函数“ABMultiValueCopyValueAtIndex”将返回保留计数为+1的Core Foundation对象

标签 ios xcode memory-leaks automatic-ref-counting

我在以下通讯录代码中遇到了这个问题(效果很好,但肯定会泄漏):

ABMultiValueRef email = ABRecordCopyValue(person, property);
NSString *type = (__bridge NSString *)(ABMultiValueCopyValueAtIndex(email, 0));
self.textEmail.text = type;
CFRelease(email);

我已经使用CFRelease(email)语句修复了一个泄漏,但无法解决此问题:

我不能调用[type release],因为这是一个ARC项目,并且不允许CFRelease((CFTypeRef)type)。如何释放桥接实例?

最佳答案

将__bridge更改为__bridge_transfer。这将使type成为引用的所有者,因此将在范围结束时自动释放。

关于ios - 对象的潜在泄漏-调用函数“ABMultiValueCopyValueAtIndex”将返回保留计数为+1的Core Foundation对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13927724/

相关文章:

iOS 在 UILabel 中设置文本背景颜色(圆 Angular 矩形)

iphone - MFMessageComposeViewController 未调用其委托(delegate)方法

ios - 在 Xcode 5 中向项目添加框架并添加了*相对*路径

iphone - iPhone iOS4 内存泄漏?

ios - Segue/unwind 反复导致内存在加载视频时不断增加

ios - 在 Swift 中的 tableviewcell 之间添加空间

ios - JSON 字符串不会被解析

javascript - 有没有办法使用 JavaScript 控制 iPod Touch 的键盘方向?

c++ - 使用 XCTest 编写 C++ 单元测试

c++ - 我是否必须使用 delete 来避免内存泄漏?我已经使用 new 来分配结构实例