два точно такой же код, но один из кодов имеет проблему зомби - PullRequest
1 голос
/ 21 декабря 2011

в rootviewcontroller этот код работает нормально

- (IBAction)gotoAboutGame:(id)sender
{
    aboutGame *aboutGameObj = [[aboutGame alloc]init];

    [UIView transitionFromView:self.view toView:aboutGameObj.view duration:2 options:UIViewAnimationOptionTransitionCurlUp completion:^(BOOL finished) {
        [aboutGameObj release];
    }];

    [self release];
}

но из игры, когда я возвращаюсь к rootviewcontroller, я получаю атаки зомби

- (IBAction)gotoMain:(id)sender
{
ViewController *viewControllerObj = [[ViewController alloc]init];

    [UIView transitionFromView:self.view toView:viewControllerObj.view duration:2 options:UIViewAnimationOptionTransitionCurlUp completion:^(BOOL finished) {
        [viewControllerObj release];
    }];

    [self release];
}

показывает представление rootviewcontroller, но когда я нажимаю любую кнопку, атака зомби.

Ответы [ 3 ]

1 голос
/ 21 декабря 2011
[viewControllerObj release];

поставить после анимации блок

0 голосов
/ 22 декабря 2011
  • условно, имена классов начинаются с заглавных букв, а не строчных

  • ваше управление памятью совершенно неверно;[self release] почти никогда не бывает правильным (есть очень эзотерические случаи, когда это так).Что retain это должно сбалансировать?

0 голосов
/ 21 декабря 2011

В каком классе этот код?

Эта строка мне кажется очень подозрительной

[self release];

Почему это объект, выпускающий себя? Конечно, объект, который создал это, должен делать это.

...