У меня есть метод, который создает экземпляр объекта CoreGraphics
— CGPathRef
.
Когда я запускаю приложение через Analyzer, оно жалуется, что этот метод протекает ... это так, но это преднамеренно. Я хочу передать право собственности вызывающему абоненту и позволить им очиститься.
Что я могу сделать, чтобы подавить это предупреждение Analyzer?
- (CGPathRef) createSomePath:(CGPoint)center innerRadius:(CGFloat)innerRadius outerRadius:(CGFloat)outerRadius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle
{
CGMutablePathRef slicePath = CGPathCreateMutable();
....
return slicePath; <--- Analyzer points to this line as a potential leak.
}
Предположим, что это должно быть возможно, поскольку многие фреймворки возвращают эти объекты, требующие очистки вызывающей стороны...
Заранее спасибо !
P.S. Боюсь, что этот вопрос не является обманом и не имеет правильного ответа где-либо еще ... 3 ответа, выделенные вверху этой страницы, не являются правильными / полными ... только ответ, предоставленный здесь Матиасом Баухом, т. Е. «Новый "правило действительно правильный ответ на вопрос, который я поднял :) СПАСИБО!
Create
— номенклатура CF*.+new
— это номенклатура Objective-c.+create
ничего не значит в Objective-C. - person bbum   schedule 26.06.2013