То, как я это делаю, выглядит следующим образом ... Имейте флаг, который изначально установлен в false, когда вы помещаете дочерний контроллер представления в ваш контроллер навигации, установите этот флаг в true, нет в viewDidAppear, если флаг равен false тогда это начальная загрузка, если true, тогда она возвращается из дочернего контроллера, выталкивающего стек навигации.