我正在运行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;
}
如果这种方法做得恰到好处?