Я работаю над приложением для iphone, и, хотя мне показалось, что я хорошо разбираюсь в управлении памятью, после использования функции Xcode Analyze у меня возникают некоторые проблемы.Я рассмотрел многие из существующих вопросов, которые мог найти здесь, но я не смог найти тот, который был похож на мою ситуацию.
CustomerDetailController.h
@interface CustomerDetailController : UITableViewController {
PTCustomer *customer;
}
@property (nonatomic, retain) PTCustomer *customer;
- (id)initWithCustomer:(PTCustomer *)aCustomer;
CustomerDetailController.m
@synthesize customer;
- (id)initWithCustomer:(PTCustomer *)aCustomer {
if ((self = [super initWithStyle:UITableViewStyleGrouped]))
{
if (aCustomer != nil)
self.customer = aCustomer;
else
self.customer = [[PTCustomer alloc] init]; // This line shows Potential leak of an object allocated on line ##
}
return self;
}
Если я нажимаю на элемент, помеченный анализатором, он говорит:
Метод возвращает объект Objective-C с счетом удержания +1
Объект просочился: выделенный объект не упоминается позже в этом пути выполнения и имеет счет сохранения + 1
Я пришел к выводу, чтоесли объект PTCustomer не был передан, я хочу инициализировать новый, чтобы он был доступен в другом месте этого класса.
Как правильно это сделать?
Спасибо.