2 yue1liang1chuan yue1liang1chuan 于 2013.03.07 14:10 提问

转为ARC之后出现了警告

使用下面这行代码:

NSArray *emailArray = (__bridge NSArray *)ABMultiValueCopyArrayOfAllValues(emailProperty);

现在使用ARC了,但是解析之后给出了警告:

Potential leak of object emailArray

应该怎么解决呢?谢谢。

2个回答

Mr_me
Mr_me   2013.03.07 14:41
已采纳

这种情况下使用 __bridge_transfer :

NSArray *emailArray = (__bridge_transfer NSArray *)ABMultiValueCopyArrayOfAllValues(emailProperty);
yue1liang1chuan
yue1liang1chuan 谢谢
接近 5 年之前 回复
langresser
langresser   2013.03.07 14:27

难说,__bridge虽然经常添加,但是也不太懂它的意思。
如果是我的话,我会先尝试用@autoreleasepool {} 把上面的代码所在的函数括起来试试,因为开线程或者异步调用代码是无法使用主线程的autoreleasepool的,需要在线程内部手工调用。

yue1liang1chuan
yue1liang1chuan 谢谢
接近 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!