2010-09-25 5 views
1

Я получаю утечки как 100%. Я не знаю, как освободить объект после его возврата. Не могли бы вы объяснить процедуру освобождения выделенного объекта Titles.Я получаю утечку в следующем коде

-(Titles *)listTiles 
{ 
Tiles* tile = [[Tiles alloc] init]; 
tile.googleTile_X = (int)tileX; 
tile.googleTile_Y = (int) pow(2, aZoom) - 1- tileY ; 
tile.zoomLevel = aZoom; 
return tile; 
} 

ответ

1

В целом это зависит, но в этом конкретном случае я считаю, что вы можете использовать return [tile autorelease].

P.S .: Пожалуйста, правильно отформатируйте свой код.

2

Вы посылаете -alloc, и не в состоянии отправить -release или -autorelease к объекту, которую вы создали.

Ознакомьтесь с вводной документацией Apple по управлению памятью.

1
-(Titles *)listTiles 
{ 
    Tiles* tile = [[[Tiles alloc] init] autorelease]; 
    tile.googleTile_X = (int)tileX; 
    tile.googleTile_Y = (int) pow(2, aZoom) - 1- tileY ; 
    tile.zoomLevel = aZoom; 
    return tile; 
} 
Смежные вопросы