инструменты не найдут утечек iphone - PullRequest
1 голос
/ 26 июля 2011

Я пытаюсь узнать, как работают инструменты, для этого я создал небольшой проект с утечкой, чтобы увидеть, появляется ли он в Инструментах, но не появляется. Код для создания утечки следующий:

-(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;
}

Но утечек пока не видно. Что мне здесь не хватает?

Спасибо.

1 Ответ

8 голосов
/ 26 июля 2011

Вы на самом деле ничего не делаете для выделения;NSString оптимизируется внутренне так, что [[NSString alloc] init] возвращает одиночный код.

Либо используйте NSMutableString, либо используйте класс своего собственного создания (лучше).

...