Есть ли способ узнать, что контроллер представления находится где-то в жизненном цикле контроллера представления между -viewWillAppear
и -viewWillDisappear
?
Я спрашиваю, потому что хочу быть чертовски уверенным, что метод несрабатывает, когда мое изображение либо не отображается на экране, либо исчезает с экрана.Когда представление собирается исчезнуть с экрана, некоторые объекты, которые я не могу явно проверить во время выполнения, могут или не могут быть освобождены, поэтому, очевидно, взаимодействие с ними может привести к message sent to deallocated instance
ошибкам.
В настоящее времяЯ отслеживаю с BOOL
, вот так:
- (void)viewWillAppear:(BOOL)animated {
isOnScreen = YES;
[super viewWillAppear:animated];
}
- (void)willWillDisappear:(BOOL)animated {
isOnScreen = NO;
[super viewWillAppear:animated];
}
И мой метод выглядит так:
if (isOnScreen) [self doSomething];
Есть ли более простой способ сделать это?