Используя XCode 4.2, я использую статический анализатор для кода, подобного следующему:
@interface ArrayDimensions: NSObject
{
ArrayIndex *dims;
}
-(id) init: (int *)dims_;
@end
@implementation ArrayDimensions
-(id) init: (int *)dims_
{
self = [super init];
if(self)
dims = [[ArrayIndex alloc] make:dims_];
return self;
}
@end
Статический анализатор сообщает, что «метод возвращает с счетом удержания +1» и что «Объект утек: выделенный объект не указан в этом пути выполнения ".Это общий тип предупреждений во всем моем коде, и в каждом случае может показаться, что анализатор не может распознать, что я устанавливаю значение переменной экземпляра.
У меня вопрос: действительно ли у меня утечка памяти или анализатор неправильный?