问题描述
- 转为ARC之后出现了警告
- 使用下面这行代码:
NSArray *emailArray = (__bridge NSArray *)ABMultiValueCopyArrayOfAllValues(emailProperty);
现在使用ARC了,但是解析之后给出了警告:
Potential leak of object emailArray
应该怎么解决呢?谢谢。
解决方案
这种情况下使用 __bridge_transfer :
NSArray *emailArray = (__bridge_transfer NSArray *)ABMultiValueCopyArrayOfAllValues(emailProperty);
解决方案二:
难说,__bridge虽然经常添加,但是也不太懂它的意思。
如果是我的话,我会先尝试用@autoreleasepool {} 把上面的代码所在的函数括起来试试,因为开线程或者异步调用代码是无法使用主线程的autoreleasepool的,需要在线程内部手工调用。
时间: 2025-01-20 15:09:00