在我的应用程序中,我使用以下代码: -
NSArray* toolbarItems = [NSArray arrayWithObjects:
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(done)], nil];
[toolbarItems makeObjectsPerformSelector:@selector(release)];
为此,它显示了物体的潜在泄漏。
答案 0 :(得分:5)
是的,这是一个潜在的泄漏,因为您创建了一个UIBarButtonItem
您拥有(因为您调用了alloc
),但是通过直接将其放入数组中而丢失了对它的引用。因此,分析仪报告您泄露了它。
除此之外,代码可怕。我想不出任何有效的情况,你想做[anArray makeObjectsPerformSelector:@selector(release)];
答案 1 :(得分:1)
使用arrayWith创建数组时......对象是自动释放的,因此您无需释放该对象。在使用[[alloc] init]样式
创建对象时释放