NSCFData,AXUIElement内存泄漏

时间:2016-04-11 21:48:25

标签: objective-c macos memory-leaks core-foundation

我正在运行Instruments,它报告了3个对象类型_NSCFData,AXUIElement和Malloc的泄漏,并指向以下函数。我正在做一些桥接,因为CF对象不受管理。我似乎无法弄清楚这个函数是如何或为什么泄漏的。

- (NSArray *)subelementsFromElement:(AXUIElementRef)element forAttribute:(NSString *)attribute {
    CFArrayRef subElementsCFArrayRef;
    NSArray *subElements=nil;
    CFIndex count=0;
    AXError result;

    result=AXUIElementGetAttributeValueCount(element, (__bridge CFStringRef)attribute, &count);
    if(result!=kAXErrorSuccess) return nil;
    result=AXUIElementCopyAttributeValues(element, (__bridge CFStringRef)attribute, 0, count, &subElementsCFArrayRef);
    if(result!=kAXErrorSuccess) return nil;

    subElements=(__bridge NSArray*)subElementsCFArrayRef;

    return subElements;
}

如果这种方法做得恰到好处?

1 个答案:

答案 0 :(得分:0)

subElementsCFArrayRef正在泄露。

Ownership Policy

Managing Toll-Free Bridging