我在以下代码中得到了泄漏

时间:2010-09-25 12:48:41

标签: iphone objective-c memory-management memory-leaks

我的漏洞率为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;
}

3 个答案:

答案 0 :(得分:2)

您正在发送-alloc,并且无法将-release-autorelease发送到您创建的对象。

阅读Apple关于内存管理的介绍性文档。

答案 1 :(得分:1)

一般来说,这取决于,但在特定情况下,我相信您可以使用return [tile autorelease]

P.S。:请正确格式化您的代码。

答案 2 :(得分: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;
}