Во-первых, в приложении MasterDetail detailViewController обычно всегда виден и не исчезает.Вот почему viewWillDisappear не вызывается.Конечно, я не уверен в деталях архитектуры вашего приложения, поэтому я могу ошибаться.
Во-вторых, рассмотрим вариант использования, если пользователь изменяет некоторые данные, а затем переключается на другое приложение.Затем, находясь в другом приложении, система завершает работу вашего приложения.Изменения, сделанные вашим пользователем, будут потеряны и будут противоречить ожиданиям.
Если вы не сохраняете много данных для интерфейса в detailViewController, рассмотрите возможность сохранения данных после того, как пользователь изменит данные в интерфейсе. скорее , чем когда пользователь переключается с управляемого объекта на управляемый объект в popoverViewController.т. е. когда пользователь редактирует некоторые данные в текстовом поле или текстовом поле, сохраните файл managedObjectContext.
Удачи!