Инструменты - утечки в приложении iPad - PullRequest
0 голосов
/ 15 июля 2010

Запуск инструментов в моем приложении для iPad обнаружил 2 утечки, но я не могу понять, откуда они берутся.Первый в этом методе в моем делегате приложения:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

    [window addSubview:self.viewController.view]; // <--- it leaks on this line
    [window makeKeyAndVisible];
    return YES;
}

Я не знаю, почему это происходит, я выпускаю viewController в dealloc.Вторая утечка в одном из моих контроллеров табличного представления в этом разделе кода:

EditLocationViewController *locationController = [[EditLocationViewController alloc] initWithLocation:self.location];
        [self.navigationController pushViewController:locationController animated:YES]; // <--- it leaks on this line
        [locationController release];

Я прошел свой класс EditLocationViewController и убедился, что все сохраненные свойства были освобождены и т. Д., Чтобы я могНе вижу причины, по которой он может протечь.

Либо я что-то здесь упускаю, либо Instruments сообщает о ложных срабатываниях.

1 Ответ

0 голосов
/ 16 июля 2010

Что заставляет вас думать, что там течет?Я предполагаю, что само представление просачивается в обоих случаях (то, которое принадлежит контроллеру, который вы делаете видимым), или одно из вспомогательных представлений, которое загружается как часть -loadView или -viewDidLoad контроллера представлениявключает в себя виды, загруженные из пера и подключенные к выходу контроллера просмотра.сохраняется контроллером представления.В этом случае вам нужно освободить их в -viewDidUnload, а также в -dealloc (обязательно освободите их после освобождения в -viewDidUnload, иначе произойдет сбой при следующем обращении к ним).

...