isBeingDismissed не установлен в viewWillDisappear:

У меня есть некоторый код для очистки в моем viewWillDisappear:, который я хочу использовать только тогда, когда представление возвращается к родительскому контроллеру представления.

- (void)viewWillDisappear:(BOOL)animated
{
    if ([self isMovingFromParentViewController] || [self isBeingDismissed]) {
        NSLog(@"isMovingFromParentViewController or isBeingDismissed");
        // clean up
    }
    [super viewWillDisappear:animated];
}

Представление может быть представлено двумя способами: оно может быть нажато навигационным контроллером или представлено в виде модального контроллера представления (из того же навигационного контроллера). код работает.Если он представлен как контроллер модального представления, а затем отклонен, код не запускается.

Я закрываю так:

[rootViewController dismissModalViewControllerAnimated:YES];

Мой вопрос: почему isBeingDismissedне установлен когда я закрываю свой контроллер представления?

10
задан nevan king 20 April 2012 в 14:43
поделиться