Потенциальная утечка выделенного объекта - UIViewController - PullRequest
3 голосов
/ 11 января 2011

Мое приложение - приложение на основе просмотра. Я получил 3 viewcontrollers. (Основной, к югу, подробно) каждый viewcontroller имеет один UIView. в MainViewcontroller есть кнопка для запуска subView. метод как показано ниже.

- (IBAction) LaunchSubView: (id) отправитель {

subViewcontroller *viewController = [[subViewcontroller alloc] init];

UIView *currentView = self.view;
[UIView transitionFromView:currentView 
                    toView:viewController.view 
                  duration:0.5 
                   options:UIViewAnimationOptionTransitionFlipFromLeft   
                completion:^(BOOL finished){}];

}

Пока я пытаюсь построить и проанализировать, я получил это предупреждение. Потенциальная утечка объекта, выделенного в строке 54 и сохраненного в 'viewController' я попробовал [выпуск viewController] после метода transitionFromView и subViewcontroller * viewController = [[[subViewcontroller alloc] init] autorelease]; оба способа вызывают сбой приложения. Любая идея, что я должен делать? заранее спасибо за любую помощь. =)

Ответы [ 2 ]

1 голос
/ 11 января 2011

transitionFromView:toView:duration:options:completion: не правильный метод для использования.Вероятно, вам следует использовать presentModalViewController:animated:.

Если вы прочитали документацию для transitionFromView:toView:duration:options:completion:, это объясняет:

Этот метод изменяет представления только в их иерархии представлений.Он никак не изменяет контроллеры представления вашего приложения.Например, если вы используете этот метод для изменения корневого представления, отображаемого контроллером представления, вы обязаны соответствующим образом обновить контроллер представления для обработки изменения. "

0 голосов
/ 11 января 2011

попробуйте использовать

subViewcontroller *viewController = [[subViewcontroller alloc] initWithNibName:@"name of you nib file" bundle:@"if you have a bundle otherwise nil"]

, а также освободить объект viewController до завершения метода, подобного этому

[subViewcontroller release];

...