Метод deinit
не вызывается, поскольку память, выделенная для SplashVC
, не освобождается.
Вы просто нажимаете еще одну UIViewController
на UINavigationController
. UINavigationController
по-прежнему хранит все контроллеры представлений, которые вы передали на него, следовательно, память, выделенная для каждого контроллера представлений, по-прежнему выделяется
. Вы использовали weak self
в качестве меры, чтобы гарантировать, что нет утечки памяти или сохранитецикл, но метод deninit
в этом случае будет вызываться только тогда, когда SplashVC
извлечен из его UINavigationController
. До тех пор, пока вы не откроете контроллер представления, выделенная память будет оставаться выделенной и недоступной для другого использования.