Этот вопрос задавался раньше, но ответы, которые я смог найти, относятся к 2009 году и не подходят для моей проблемы. Позвольте мне повторить проблему.
У меня есть UINavigationController
, который порождает и помещает в свой стек множество различных UIViewController
. Один из них касается некоторых операций с основными данными, которые необходимо сохранить, когда этот конкретный виртуальный канал выскакивает из стека. Не сосредотачивайтесь на части Core Data, речь идет о всплывающих окнах.
Как я могу уловить момент, когда UIViewController
собирается выскочить из стека?
UINavigationControllerDelegate
очень редок. viewWillDisappear
, но этот протокол также вызывается, если другое представление помещается в ] стек , так что это не обеспечивает нужный момент. viewWillAppear
контроллера представления, к которому мы «выскакиваем», но поскольку этот вызов не имеет ссылки на VC, который должен выполнять проверку, это неудовлетворительно и приведет к контрпродуктивному уровню зависимости (VC используется несколькими NC). Это оставляет меня в моем нынешнем состоянии. неудовлетворенное душевное состояние. EP.