Che*_*tan 8 cocoa objective-c automatic-ref-counting
我的项目正在使用自动引用计数,我正在尝试使用以下Accessibility API函数:
extern AXError AXUIElementCopyAttributeValue (
AXUIElementRef element,
CFStringRef attribute,
CFTypeRef *value);
Run Code Online (Sandbox Code Playgroud)
要调用该函数,我正在做这样的事情:
NSArray *subElements = nil;
AXUIElementCopyAttributeValue(..., (CFArrayRef *)&subElements);
Run Code Online (Sandbox Code Playgroud)
但是,ARC对最后一个参数抛出以下错误:
error: Automatic Reference Counting Issue: Cast of an indirect pointer to an Objective-C pointer to 'CFArrayRef *' (aka 'const struct __CFArray **') is disallowed with ARC
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
Tom*_*mmy 11
您是否尝试过使用中间CFArrayRef,这样您仍然可以将指针传递给ref(即指向指针的指针)AXUIElementCopyAttributeValue,但是可以通过普通的转换来实现免费桥接?例如
CFArrayRef subElementsCFArray;
AXUIElementCopyAttributeValue(..., &subElementsCFArray);
NSArray *subElements = (__bridge NSArray *)subElementsCFArray;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4767 次 |
| 最近记录: |