Я боюсь, что viewWillAppear и viewDidAppear не всегда работают.
на iPhone они делают, на iPad они не могут.
если представленный UIViewController не представлен в полноэкранном режиме (например, если он представлен в виде листа формы), родительское представление не получит функции жизненного цикла viewWillAppear или viewDidAppear. к сожалению, единственный способ, который я нашел, - это создать собственное делегатское сообщение, которое будет вызываться при вызове dismissModalViewControllerAnimated (эфир по ссылке или с уведомлением)