仪器不会发现任何泄漏iphone

mad*_*erz 1 iphone cocoa-touch objective-c instruments

我正在努力学习仪器是如何工作的,为此我创建了一个带有泄漏的小项目,看它是否出现在仪器中,但它没有显示出来.我必须创建泄漏的代码如下:

-(IBAction)leakme
{
    self.leaked = [[NSString alloc]init];
    self.leaked2 = [[NSString alloc]init];
    self.leaked3 = [[NSString alloc]init];

    leaked = @"John";
    leaked2 = @"Anderson";
    leaked3 = @"Smith";
}
Run Code Online (Sandbox Code Playgroud)

这并没有显示任何泄漏.由于应用程序从未达到dealloc方法,我执行了以下操作:

-(IBAction)nilit
{
    self.leaked = nil;
    self.leaked2 = nil;
    self.leaked3 = nil;
}
Run Code Online (Sandbox Code Playgroud)

但仍然没有泄漏.我在这里想念的是什么?

谢谢.

bbu*_*bum 8

你实际上并没有分配任何东西; NSString在内部进行优化,[[NSString alloc] init]返回单例.

使用NSMutableString或使用自己创作的类(更好).