【问题标题】:instruments won't find any leaks iphone仪器不会发现任何泄漏 iphone
【发布时间】:2011-10-12 22:18:08
【问题描述】:

我正在尝试了解仪器的工作原理,为此我创建了一个带有泄漏的小项目,以查看它是否显示在仪器中,但没有显示。我必须创建泄漏的代码如下:

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

    leaked = @"John";
    leaked2 = @"Anderson";
    leaked3 = @"Smith";
}

这并没有显示任何泄漏。由于应用程序永远不会到达 dealloc 方法,因此我执行了以下操作:

-(IBAction)nilit
{
    self.leaked = nil;
    self.leaked2 = nil;
    self.leaked3 = nil;
}

但仍然没有显示泄漏。我在这里错过了什么?

谢谢。

【问题讨论】:

    标签: iphone objective-c cocoa-touch instruments


    【解决方案1】:

    你实际上并没有导致任何东西被分配; NSString 在内部经过优化,[[NSString alloc] init] 返回一个单例。

    使用NSMutableString 或使用您自己创建的类(更好)。

    【讨论】:

      猜你喜欢
      • 2011-02-15
      • 1970-01-01
      • 2012-01-23
      • 1970-01-01
      • 2011-11-02
      • 1970-01-01
      • 1970-01-01
      • 2011-07-11
      相关资源
      最近更新 更多