在iphone中分配的对象的潜在泄漏

时间:2010-08-10 00:22:07

标签: iphone

在我的应用程序中,我使用以下代码: -

NSArray* toolbarItems = [NSArray arrayWithObjects:
                             [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(done)], nil];
    [toolbarItems makeObjectsPerformSelector:@selector(release)];

为此,它显示了物体的潜在泄漏。

2 个答案:

答案 0 :(得分:5)

是的,这是一个潜在的泄漏,因为您创建了一个UIBarButtonItem您拥有(因为您调用了alloc),但是通过直接将其放入数组中而丢失了对它的引用。因此,分析仪报告您泄露了它。

除此之外,代码可怕。我想不出任何有效的情况,你想做[anArray makeObjectsPerformSelector:@selector(release)];

答案 1 :(得分:1)

使用arrayWith创建数组时......对象是自动释放的,因此您无需释放该对象。在使用[[alloc] init]样式

创建对象时释放