-(NSMutableArray *)read
{
NSMutableArray *dataArray = [[NSMutableArray alloc] init];
//picking data from database here
return dataArray;
}
Все, что использует метод read
, будет ожидать возврата объекта, которому он не принадлежит. Однако, как написано здесь, dataArray по-прежнему принадлежит в момент возврата. Вы не можете выпустить это, потому что это могло бы заставить это вообще уйти. В этом случае вы должны автоматически освободить массив. Вы можете сделать это:
-(NSMutableArray *)read
{
NSMutableArray *dataArray = [[[NSMutableArray alloc] init] autorelease];
//picking data from database here
return dataArray;
}
или это
-(NSMutableArray *)read
{
NSMutableArray *dataArray = [[NSMutableArray alloc] init];
//picking data from database here
return [dataArray autorelease];
}
Вы говорите "процесс проверки на утечку зависает", но я действительно не уверен, что вы подразумеваете под этим. Вне зависимости от того, зависает ли это, вылетает или воспроизводится гимн Ботсваны, вам определенно нужно автоматически высвободить возвращенный массив, и любая другая проблема на самом деле является другой проблемой. Возможно, вы забыли сохранить данные в другом месте.